Discrete Mathematics

Size: px
Start display at page:

Download "Discrete Mathematics"

Transcription

1 25 년봄학기 문양세컴퓨터과학과강원대학교자연과학대학

2 강의 강의내용 Binary Trees (Ch. 6 in 화일구조 ) B-tree, B*-tree, Trie (Ch. 6 in 화일구조 ) B + -tree (Ch. 7 in 화일구조 ) Indexed Sequential File (Ch. 7 in 화일구조 ) Page 2

3 색인, 인덱스 (Index) 특징 파일의레코드들에대한효율적접근구조 < 레코드키값, 레코드 ( 에대한 ) 포인터 > 쌍 종류 키에따른인덱스분류 기본인덱스 (Primary Index): 기본키 (Primary Key) 를포함하는인덱스 ( 키의순서가레코드의순서를결정지음 ) 보조인덱스 (Secondary Index): 기본인덱스이외의인덱스 ( 키의순서가레코드의순서를의미하지는않음 ) 파일조직에따른인덱스 집중인덱스 (Clustered Index): 데이타레코드의물리적순서가그파일에대한인덱스엔트리순서와동일하게 ( 유사하게 ) 유지되도록구성된인덱스 비집중인덱스 (Unclustered Index): 집중형태가아닌인덱스 데이타범위에따른인덱스분류 밀집인덱스 (Dense Index): 데이터레코드각각에대해하나의인덱스엔트리가만들어진인덱스 희소인덱스 (Sparse Index): 레코드그룹또는데이터블록에대해하나의엔트리가만들어지는인덱스 Page 3

4 Binary Search Tree (BST) (1/2) Binary Tree ( 이진트리 ) 유한한수의노드를가진트리 왼쪽서브트리와오른쪽서브트리로구성 Binary Search Tree (BST, 이원탐색트리 ) 이진트리 각노드N i : 레코드키 K i 와이키가가지고있는레코드포인터를포함 공백 (empty) 이아닌이원탐색트리의성질 모든노드는상이한키값을갖는다. 루트노드 N i 의왼쪽서브트리 (Left(N i )) 에있는모든노드의키값은루트노드의키값보다작다. (maximum key value of the left sub-tree is less than key value of the root node.) 루트노드 N i 의오른쪽서브트리 (Right(N i )) 에있는모든노드의키값은루트노드의키값보다크다. (minimum key value of the right sub-tree is greater than key value of the root node.) 왼쪽서브트리와오른쪽서브트리는모두이원탐색트리이다. (Both left sub-tree and right sub-tree are also binary search trees.) Page 4

5 Binary Search Tree (BST) (2/2) Binary Tree 와 Binary Search Tree 예제 Binary Trees Binary Search Trees Page 5

6 BST 에서의검색 루트 N i 일때, 주어진키값 K 인노드검색과정 1. 트리가공백 : 검색은노드를찾지못하고실패 2. K = K i : 노드 N i 가원하는 ( 찾고자하는 ) 노드 검색종료 3. K < K i : N i 의왼쪽서브트리를검색 left sub-tree를대상으로 recursive하게검색 4. K > K i : N i 의오른쪽서브트리를검색 right sub-tree를대상으로 recursive하게검색 searchbst(b, s_key) p B; // B = binary search tree, s_key = search key value if (p = null) then // 검색실패 ( 해당키값을가진노드가없음 ) return null; if (p.key = s_key) then return p; if (p.key < s_key) then return searchbst(p.right, s_key); else return searchbst(p.left, s_key); end searchbst() // 검색성공 // 오른쪽서브트리검색 // 왼쪽서브트리검색 Page 6

7 BST 에서의삽입 루트 N i 인 BST 에, 키값 K 인새로운노드를삽입 1. 트리가공백 (empty): K를루트노드로삽입 2. K = K i : 트리에값이같은키값이이미존재하므로삽입을거부 (unique 보장 ) 3. K < K i : N i 의왼쪽서브트리로이동하여계속탐색 4. K > K i : N i 의오른쪽서브트리로이동하여계속탐색 BST 에삽입예 : 키값 13, 5 인노드를삽입 15 키값 13 인노드를삽입 15 키값 5 인노드를삽입 Page 7

8 BST 에서의삭제 (1/2) 삭제될노드가가진자식수에따라다른연산을수행 1. 자식이없는단말노드 (leaf node) 의삭제 단순히해당단말노드를삭제함 2. 자식이하나인노드의삭제 (left or right child 하나만존재 ) 삭제되는노드자리에자식노드를위치시킴 3. 자식이둘인노드의삭제 - 삭제되는노드자리에왼쪽서브트리에서제일큰키값또는오른쪽서브트리에서제일작은키값으로대체선택 Max(left sub-tree) = key value of the right most node in the left sub-tree Min(right sub-tree) = key value of the left most node in the right sub-tree - 해당서브트리에서대체노드를삭제 Page 8

9 BST 에서의삭제 (2/2) BST 에삭제예 : 키값 4, 2, 5 인노드를삭제 키값 4 삭제 ( 단말노드삭제 ) 키값 2 삭제 ( 자식이하나 ) 키값 5 삭제 ( 자식이둘 ) 3 키값 5 삭제 ( 자식이둘 ) 키값 3 으로대체 3 = Max(left sub-tree) 52 6 키값 52 으로대체 52 = Min(right sub-tree) 25 6 Page 9

10 BST 의성능 (1/2) 편향된 (Skewed) Binary Search Tree 편향되어있는경우, BST 의탐색시간은최악이됨 N 개의노드인 BST 에서최악의탐색시간 : N 번의노드탐색 Skewed BST 의예 Page 1

11 BST 의성능 (2/2) 성능 트리형태와 ( 개별 ) 노드에대한접근빈도에의존적임 가장자주접근되는노드는루트에가장가깝게유지하는것이유리함 균형트리 (balanced tree) 유지 : 모든노드에대해양쪽서브트리의노드수가가능한동일하게만들어트리의최대경로길이를최소화 BST 의단점 잦은삽입과삭제가발생하는경우, 균형트리를유지하기어려움 ( AVL-tree) 작은분기율 (branching factor) 에따른긴탐색경로와검색시간 ( B-tree) - 분기율이 2 이므로, 각노드는많아야두개의서브트리를가짐 - N개의노드를갖는트리의최소높이 : log N Page 11

12 AVL 트리 (1/2) 높이균형 (height-balanced) BST 삽입, 삭제연산시간이짧음 검색시간 : O(logN) ( Skew 가발생치않으므로, worst case = average case 가됨 ) AVL 트리 : 고안자 Adelson-Velskii 와 Landis 이름의 Initial 에서유래 트리전체를재균형시키지않고도 ( 국부적으로재균형시키면서 ) 트리의균형유지 정의 AVL 트리 T: 공백이아닌 Binary (Search) Tree B f (= balance factor) = h(right(n i )) - h(left(n i )) 1, N i T ( 모든노드의왼쪽서브트리와오른쪽서브트리의높이는그차가 1 이하임 ) - 오른쪽서브트리의높이가큰경우 : B f (N i ) = 1 - 왼쪽서브트리의높이가큰경우 : B f (N i ) = -1 - 두서브트리의높이가같은경우 : B f (N i ) = 공백서브트리의높이 (B f (empty tree)): -1 로정의 Page 12

13 AVL 트리 (2/2) Page 13

14 AVL 트리에서의검색과삽입 (1/2) 검색 일반 BST 에서의검색연산과동일 시간복잡도 : O(log 2 N) 삽입 삽입되는위치에서루트로의경로에있는조상노드들의 B f 에영향을줄수있음 즉, 불균형이발생할수있으며, 따라서, 불균형이탐지된가장가까운조상노드의 B f 를 ±1 이하로재균형시켜야함 신규노드삽입으로인한 AVL 파괴예 Page 14

15 AVL 트리에서의검색과삽입 (2/2) 삽입 ( 계속 ) 불균형으로판명된노드를 x 라할때, x 의두서브트리높이의차, 즉 B f 가 2 가됨 다음네가지경우중하나로인해발생함 LL : x의왼쪽자식 (L) 의왼쪽서브트리 (L) 에삽입 RR : x의오른쪽자식 (R) 의오른쪽서브트리 (R) 에삽입 LR : x의왼쪽자식 (L) 의오른쪽서브트리 (R) 에삽입 RL : x의오른쪽자식의왼쪽서브트리 (L) 에삽입 Page 15

16 AVL 트리에서회전 (rotation) (1/5) 회전이필요한이유 노드의삽입 ( 혹은삭제 ) 로인하여불균형이발생한경우 ( B f >1), 트리의재균형을위하여회전이필요함 즉, 불균형이발생한노드 x 를중심으로회전을수행하여균형을맞춤 회전의종류 단일회전 (single rotation) LL, RR 등이이에해당하며, 한번의회전만필요함 탐색순서를유지하면서부모와자식원소의위치를교환함으로써재균형이이루어짐 이중회전 (double rotation) LR, RL에서발생하며, 두번의회전을필요로함 Page 16

17 AVL 트리에서회전 (rotation) (2/5) LL Rotation 2 A B 1 LL B A T 1 T 2 T 3 T 1 T 2 T 3 RR Rotation -2 A -1 B RR A B Page 17

18 AVL 트리에서회전 (rotation) (3/5) LR Rotation: case (a) 2-1 B A LR(a) B C A C LR Rotation: case (b) B 의 left sub-tree 는 C 보다모두작음 -1 B 1 C 2 A A 의 right sub-tree 는 C 보다모두큼 LR(b) B C A -1 T 1 T 2 T 3 T 4 T 1 T 2 T 3 T 4 Page 18

19 AVL 트리에서회전 (rotation) (4/5) LR Rotation: case (c) B 의 left sub-tree 는 C 보다모두작음 -1 B -1 A 2 A 의 right sub-tree 는 C 보다모두큼 LR(c) 1 B C A C T 1 T 2 T 3 T 4 T 1 T 2 T 3 T4 RL Rotation: case (a) -2 A C -1 B RL(a) A B C Page 19

20 AVL 트리에서회전 (rotation) (5/5) RL Rotation: case (b) A 의 left sub-tree 는 C 보다모두작음 A -2-1 C 1 B의 right sub-tree는 C보다모두큼 B RL(b) 1 A C B T 1 T 2 T 3 T 4 T 1 T 2 T 3 T4 RL Rotation: case (c) A 의 left sub-tree 는 C 보다모두작음 A C B의 right sub-tree는 B C보다모두큼 RL(c) A C -1 B Page 2

21 AVL 트리구성예제 (1/4) 키값 (8, 9, 1, 2, 1, 5, 3, 6, 4, 7, 11, 12) 을차례대로삽입하면서 AVL 트리를구성하는예 empty tree RR Page 21

22 AVL 트리구성예제 (2/4) LL LR Page 22

23 AVL 트리구성예제 (3/4) RL LR Page 23

24 AVL 트리구성예제 (4/4) RR Page 24

25 AVL 트리의높이 AVL 트리에서높이의범위 N 개의노드를가진높이 AVL 트리는완전균형이진트리 1) 보다 45% 이상은높아지지않음이증명되었음 log 2 (N+1) h log 2 (N+2) AVL 트리 : 완전균형이진트리 1) O(1.4 log N) : O(log N) AVL 트리는부분적인재구성만을수행하기때문에, 탐색시간측면에서는 AVL 트리가더길다. ( 그러나, 훨씬실용적이다.) 1) 완전균형이진트리 (complete balanced binary tree): 주어진키값에대해서, ( 검색측면에서 ) 가장이상적으로좌우균형이잡힌트리 Page 25

26 강의 강의내용 Binary Trees (Ch. 6 in 화일구조 ) B-tree, B*-tree, Trie (Ch. 6 in 화일구조 ) B + -tree (Ch. 7 in 화일구조 ) Indexed Sequential File (Ch. 7 in 화일구조 ) Page 26

27 m-way Search Tree (1/3) BST 보다분기율 (branch factor) 을높이면? 즉, m 개서브트리를형성하면? 장점 : 트리의높이가감소 ( 특정노드의탐색시간감소 ) 단점 : 삽입, 삭제시트리의균형을유지하기위해복잡한연산이필요 m-way search tree 의성질 노드구조 = <n, P, K 1, P 1, K 2, P 2,, P n-1, K n, P n > (n: 키값의수, 1 n m, P i : 서브트리에대한포인터, K i : 키값 ) 키는오름차순으로정렬 : K i < K i+1, 1 i n-1 P i ( i n-1) 가가리키는서브트리내의키값 < K i+1 P n 이가리키는서브트리노드들의키값 > K n P i 가가리키는서브트리 : m-way search tree Page 27

28 m-way Search Tree (2/3) 예제 (3-way search tree) 1 14 Internal Nodes ^ ^ 1 2 ^ ^ Leaf Nodes 실제로, 키값 K i 는 (K i, A i ) 를의미하며, 여기서 A i 는데이타레코드의주소를의미함 Page 28

29 m-way Search Tree (3/3) m-way search tree 의탐색시간 : 탐색경로길이 ( 높이 ) 에비례 각레벨에서는한개의노드만탐색 ( 높이가 h 이면 h 개노드탐색 ) 분기율 (m) 을크게하면할수록트리의높이가낮아짐 한노드에 m-1 개키값을저장하는 m-way search tree 의경우, 높이 h 이면 (m h -1) 개의키값을저장 ((m-1) + m(m-1) + m(m(m -1)) + = m 1 + m 2 m + m 3 m 2 + = m h 1) 예 : 4-way search tree 에서높이 3 이면, 4 3-1=63 개키값저장 n 개의키를가진 m-way search tree 최소높이 h = log m (N+1) 최대탐색시간 : O(h) = O(log m (N+1)) 예 : m=2이면, BST의탐색시간 (= O(log 2 (N+1)) Page 29

30 B-트리 Bayer & McCreight 가제안 R. Bayer and C. McCreight, Organization and Maintenance of Large Ordered Indexes, Acta Informatica 1, pp , B-tree?: balanced m-way search tree m-way search tree 의균형을유지하기위하여효율적인알고리즘을제공 B + -tree 와함께가장많이사용되는인덱스방법 차수 m 인 B- 트리의특성 B-트리는공백 (empty) 이거나높이가 1 이상인 m-way search tree임 루트와단말 (leaf) 을제외한내부노드 (internal node) 는다음특성을가짐 최소 m/2, 최대 m개의서브트리를가짐 ( 절반이상의 Utilization을보장 ) 적어도 m/2-1개의키값 ( 노드의반이상채워짐 ) 루트노드 : 단말이아니면적어도두개의서브트리를가짐 모든단말노드는같은레벨임 Page 3

31 B-트리의노드구조 (1/2) 노드구조 (m-way) <n, p, <K 1, A 1 >, P 1, <K 2, A 2 >, P 2,, P n-1, <K n, A n >, P n > n = 키값의수 (1 n<m), P,, P n = 서브트리에대한포인터, K n = 키값, A i = 키값 K i 를가진레코드에대한포인터 한노드안의키값은오름차순으로정렬 (1 i n-1 K i < K i+1 ) P i 가가리키는서브트리의모든키값 < K i+1 P n 이가리키는서브트리의모든키값 > K n P i ( i n) 가가리키는서브트리 : m-way B- 트리구조를만족함 B- 트리의장점 삽입과삭제가발생한후에도균형상태를유지 저장장치의효율성제공 - 각노드 ( 루트제외 ) 는반이상의Storage Utilization을제공 - 최악의경우 O(log n (N+1)) 의높이및탐색시간 (n = m/2) Page 31

32 B-트리의노드구조 (2/2) B- 트리의예 (3-way) a 69 ^ root node b c d e f g h i 16 ^ ^ 1 ^ 132 ^ 145 ^ internal nodes j k l m n o p q r s t u v leaf nodes Page 32

33 B-트리에서의연산 검색 : m-way search tree 의검색과같은과정 직접탐색 : 주어진키값을사용하여 tree traverse ( 중간에검색이종료되기도함 ) 순차탐색 : inorder traversal 을수행해야하므로성능이좋지않음 ( B + - 트리 ) 삽입 : 항상단말노드에삽입 단말노드에여유공간이있는경우 : 단순히순서에맞도록단말노드내에삽입 여유공간이없는경우 : overflow, split 발생 - 해당노드를두개의노드로분할해야함 - 새로운키값을포함하여키값들을정렬한후, 중간키값을중심으로큰키들은새로운노드에저장하고, 나머지는기존노드에저장 - 중간키값 : 분할된노드의부모노드로올라가삽입 (recursion) - 그결과, 다시 overflow 발생하면, 위와같은분할 (split) 작업을반복 Page 33

34 B-트리에서삽입의예 (1/4) 앞서예를든 B-트리에새로운키값 22, 41, 59, 57, 54, 44, 75, 124, 122, 123을차례로삽입 l 2 l 2 n n (a) 단말노드 l 에키 22 삽입 (b) 단말노드 n 에키 42 삽입 b b f 6 ^ f 58 6 p o 5 58 p o 5 o 59 (c) 노드 o 에키 59 삽입 Split 발생 Page 34

35 B-트리에서삽입의예 (2/4) o 5 o 5 o 57 5 o 57 5 o 57 (d) 노드 o 에키 57 삽입 (d) 키 54 삽입으로, 노드 o 의분할 (54 는부모노드 f 로이동 ) f 58 6 o o p f 54 ^ o o f 6 ^ o p (e) 노드 f 에키 54 의삽입 (58 은부모노드 b 에삽입 ) Page 35

36 B-트리에서삽입의예 (3/4) b b ^ d e f d e b 58 ^ f f (g) 노드 b 에키 58 삽입 (43 은부모노드 a 에삽입 ) a a 69 ^ b c b b (h) 노드 a 에키 43 삽입 c 나머지키값인 33, 75, 124, 122 를차례로삽입 : 문제 (overflow) 가발생하지않음 마지막키값인 123 을삽입 : B- 트리는한레벨증가됨 (simulation 해볼것 ) Page 36

37 B-트리에서삽입의예 (4/4) 반복된삽입에따라서한레벨이증가된 B- 트리 a o 69 a a b b c c d e e f f g g h i j k l m m n o o o p q r r r s t u v Page 37

38 B-트리에서의삭제 삭제될키값이내부노드에있는경우 이키값의후행 (successor) 키값과교환후단말노드에서삭제 단말노드에서의삭제연산이더간단 후행 (successor) 키값대신선행 (predecessor) 키값을사용할수도있음 최소키값수 ( m/2-1) 보다작은경우 : Underflow 재분배 (redistribution) - 최소키값보다많은키를가진형제노드 (sibling node) 를선택 - 해당노드와선택한노드의키값을재분배하고, 중간키값을부노노드의키값으로이동 - 트리구조를변경시키지않음 합병 (merge) - 재분배가불가능한경우에적용 ( 재분배해도조건인 m/2-1 를만족하지못하는경우 ) - 형제노드와합병을수행하여, 합병결과빈노드는제거 - 트리구조가변경됨 ( 부모노드로삭제가전이되며, recursive하게적용됨 ) Page 38

39 B-트리에서삭제의예 (1/3) 앞서예를든 B- 트리에키값 58, 7, 6, 2, 15 를차례로삭제 o 5 58 o 5 j 7 15 j 15 노드 o 에서키값 58 의삭제 노드 j 에서키값 7 의삭제 b b b f 6 f 62 f 62 o 5 p o 5 p 6 65 o 5 p 65 노드 f 에서키값 6 의삭제 Page 39

40 B-트리에서삭제의예 (2/3) b b e 26 4 e 3 4 l 2 m 3 36 n 42 l 26 m 36 n 42 노드 l 에서키값 2 의삭제 Page 4

41 B-트리에서삭제의예 (3/3) j 15 d 16 k 18 d 19 a b e 3 l 26 a b 3 43 e 4 4 m 36 f f n 42 jk 16 d 18 a b e 3 l 26 4 m 36 f n 42 jk l 26 m 36 n 42 노드 j 에서키값 15 의삭제 Page 41

42 B*- 트리 (1/2) B- 트리의문제점 구조유지를위해추가적인연산필요 ( 잦은분할, 재분배, 합병이발생 ) 삽입 노드의분할, 삭제 노드의합병또는재분배 B*- 트리 : Knuth 가제안한 B- 트리의변형 D. Knuth, The Art of Programming, Vol. 3, Sorting and Searching, Addison-Wesley Publishing Co. Inc., B*- 트리 : 공백 (empty) 이거나높이가 1 이상인 m-way search tree 루트 : 단말이아닌이상최소 2 개, 최대 2 (2m-2)/3 +1 개의서브트리를갖는다. 루트, 단말제외한 ( 내부 ) 노드 : 적어도 (2m-2)/3 +1 개의서브트리, 즉, 최소 (2m- 2)/3 개의키값을갖는다. 모든단말노드는같은레벨에있다. 노드의밀도를높여 (branching factor 를크게하여 ), 노드의분할빈도를줄임 각내부노드는 2/3 이상키값으로채워짐 B- 트리보다적은수의노드필요 Page 42

43 B*- 트리 (2/2) B- 트리에서연산의특징 삽입으로인한 Overflow 발생시, - 즉시분할하는대신, 인접한형제노드 (sibling node) 와의재분배를실시 - 재분배가불가한경우 ( 형제노드도 full 인경우 ), 두노드와새로운노드의세개노드를사용하여재분배롤실시 분할을지연시키고, 노드가항시 2/3 이상채워지도록보장 삭제로인한 Underflow 발생시, - 기본적으로는 B- 트리와유사함 ( 일단재분배이후필요시합병 ) - 합병시, B- 트리와다른점은세개의노드를두개의노드로합병하는점임 Page 43

44 트라이 (Trie) retrieval의약자키를구성하는문자나숫자의순서로키값을표현한구조 m-ary trie 차수 m: 키값을표현하기위해사용하는문자의수, 즉기수 (radix) 예 ) 숫자 : 기수 (~9) 가 1이므로 m=1, 영문자 : 기수 (a~z) 가 26이므로 m = 26 m-ary trie: m개의포인터를표현하는 1차원배열 트라이의높이 = 키필드의길이 ( 예 : 키 = 1234 이면, 높이 4) 1 진트라이의노드구조 P 1 P 21 P 31 P 41 P 51 P 61 P 71 P 81 P 91 P 1 1 Page 44

45 높이가 4인 1-ary Trie 레벨 1 r P 3 레벨 2 a P 레벨 3 b P 레벨 4 c ****** d ******* ******* ******* ********* **** ****** ***** : 널포인터 *: 해당키값을가지고있는데이타레코드의주소 Page 45

46 m-ary trie 연산 탐색 탐색종료 : 단말노드에서성공적으로종료하거나, 중간에키값이없을때실패로종료 탐색속도 키필드의길이 = 트라이의높이 ( 최대탐색비용 키필드의길이 ) 장점 : 균일한탐색시간 ( 단점 : 저장공간이크게필요 ) 선호하는이유 : 없는키에대한빠른탐색때문 (Sparse한경우에유리 ) 삽입 단말노드에새레코드의주소나마크를삽입 단말노드가없는경우, 새단말노드를생성하고내부노드에연결 노드의첨가나삭제는있으나분할이나병합은없음 삭제 노드와원소들을찾아서널값으로변경 노드의원소값들이모두널 ( 공백노드 ): 노드삭제 Page 46

47 강의 강의내용 Binary Trees (Ch. 6 in 화일구조 ) B-tree, B*-tree, Trie (Ch. 6 in 화일구조 ) B + -tree (Ch. 7 in 화일구조 ) Indexed Sequential File (Ch. 7 in 화일구조 ) Page 47

48 Basic Concepts Why we use indexing (or hashing)? We need to speed up access to desired data. Terminology (Search) key: attribute or set of attributes used to look up records in a file. An index file consists of records, called index entries, of the form search key pointer to the records Index files are typically much smaller than the original file. Indexing and Hashing (Database System Concepts) 48

49 Which one is the best? No one technique is the best. Evaluation criteria Access time (simple query, range query) Insertion time Deletion time Space overhead Indexing and Hashing (Database System Concepts) 49

50 Ordered Indexes In an ordered index, index entries are stored sorted on the search key value. Primary index: the index whose search key specifies the placement of the records. Secondary index: the index that does not determine the structure of the file or placement of the records. Index-sequential file: ordered sequential file with a primary index. good performance for sequential access and random access Indexing and Hashing (Database System Concepts) 5

51 Dense Index Files In a dense index, index record appears for every searchkey value. (i.e., an index entry for every search key) search key pointer branch-name account number customer name balance Brighton Brighton 217 Green 75 Downtown Downtown 11 Johnson 5 Mianus Downtown 11 Peterson 6 Perryridge Mianus 215 Smith 7 Redwood Perryridge 12 Hayes 4 Round Hill Perryridge 21 Williams 9 Perryridge 218 Lyle 7 Redwood 222 Lindsay 7 Round Hill 35 Turner 35 To deletion To insertion Indexing and Hashing (Database System Concepts) 51

52 Sparse Index Files In a sparse index, index record appears for some searchkey values. (i.e., an index entry for multiple search keys) search key pointer branch-name account number customer name balance Brighton Brighton 217 Green 75 Mianus Downtown 11 Johnson 5 Redwood Downtown 11 Peterson 6 Mianus 215 Smith 7 Perryridge 12 Hayes 4 Perryridge 21 Williams 9 Perryridge 218 Lyle 7 Redwood 222 Lindsay 7 Round Hill 35 Turner 35 To deletion To insertion Indexing and Hashing (Database System Concepts) 52

53 Dense Index vs. Sparse Index Dense index faster access more space more maintenance overhead for insertions and deletions Sparse index slower access less space less maintenance overhead for insertions and deletions A good compromise multilevel index Dense index for index entries to data records Sparse index for index entries to index blocks Indexing and Hashing (Database System Concepts) 53

54 Multilevel Index (1/2) Index itself can be large Index does not fit in memory Access becomes expensive Build an index on top of an index Treat primary index kept on disk as a sequential file and construct a sparse index on it. Outer index a sparse index of primary index Inner index the primary index file If even outer index is too large to fit in main memory, yet another level of index can be created, and so on. Indexing and Hashing (Database System Concepts) 54

55 Multilevel Index (2/2) outer index index block index block 1 data block data block 1 inner index To insertion Indexing and Hashing (Database System Concepts) 55

56 Index Update: Deletion If deleted record was the only record in the file with its particular search key value, the search key is deleted from the index also. Single-level index deletion: Dense index deletion of search key is similar to file record deletion. Sparse index If an entry for the search key exists in the index, it is deleted by replacing the entry in the index with the next search key value in the file (in search key order). If the next search key value already has an index entry, the entry is deleted instead of being replaced. Multilevel deletion algorithms are simple extensions of the single-level algorithms. To dense index files To sparse index files Indexing and Hashing (Database System Concepts) 56

57 Index Update: Insertion Single-level index insertion: Perform a lookup using the search key value appearing in the record to be inserted. Dense index if the search key value does not appear in the index, insert it. Sparse index If index stores an entry for each block of the file, no change needs to be made to the index unless a new block is created. If a new block is created, the first search key value appearing in the block is inserted into the index. Multilevel insertion algorithms are simple extensions of the singlelevel algorithms. To dense index files To multilevel indexes Indexing and Hashing (Database System Concepts) 57

58 Secondary Indexes (1/2) In general, only one primary index can be created for one data file. However, there are needs to find all the records whose values in a certain field, which is not the search key of the primary index, satisfy some condition. select * from account where customer-name = Johnson select * from account where balance > 7 search key pointer branch-name account number customer name balance Brighton Brighton 217 Green 75 Downtown Downtown 11 Johnson 5 Mianus Downtown 11 Peterson 6 Perryridge Mianus 215 Smith 7 Redwood Perryridge 12 Hayes 4 Round Hill Perryridge 21 Williams 9 Perryridge 218 Lyle 7 Redwood 222 Lindsay 7 Round Hill 35 Turner 35 Indexing and Hashing (Database System Concepts) 58

59 Secondary Indexes (2/2) In a secondary index, an index record points to a bucket that contains pointers to all the actual records with that particular search key value. balance branch-name Brighton 217 Green 75 Downtown 11 Downtown Mianus Perryridge account number customer name Johnson Peterson Smith Hayes balance Perryridge 21 Williams 9 Perryridge 218 Lyle 7 Redwood 222 Lindsay 7 Round Hill 35 Turner 35 Secondary indexes improve the performance. However, they impose a series overhead on modification of the database. Indexing and Hashing (Database System Concepts) 59

60 Why B + -Tree? Disadvantage of index-sequential files Performance degrades as file grows, since many overflow blocks get created. Periodic reorganization of entire file is required. As an alternative to index-sequential files, B + -tree automatically reorganizes itself with small, local, changes, in the face of insertions and deletions and does not require of reorganization of entire file to maintain performance. B + -tree index files are used extensively in practical areas. Indexing and Hashing (Database System Concepts) 6

61 B + -Tree Index Files A B+-tree is a rooted tree that takes the form of a balanced tree in which every path from the root to a leaf is of the same length. root node If the root is an internal node, it has at least 2 children. If the root is a leaf, it can have between and (n-1) values. internal node leaf node Each node has between n/2 and n children. Each node has between (n-1)/2 and n-1 values. data block (records) The block stores records. Indexing and Hashing (Database System Concepts) 61

62 B + -Tree Node Structure Typical node of a B + -tree P 1 K 1 P 2 P n-1 K n-1 P n K i are the search key values. P i are pointers. In case of internal nodes (non-leaf nodes), they point children nodes. In case of leaf nodes, they point records. The search keys in a node are ordered K 1 < K 2 < K 3 <.... < K n-1 Indexing and Hashing (Database System Concepts) 62

63 Leaf Nodes in B + -Trees Properties of a leaf node: For i = 1, 2,, n-1, P i points to a file record with search key value K i. If L i, L j are leaf nodes and i < j, L i s search key values are less than L i s search key values. P n points to next leaf node in search key order. leaf node Brighton Downtown next leaf node account table Brighton 217 Green 75 Downtown 11 Johnson 5 Downtown 11 Peterson 6 Indexing and Hashing (Database System Concepts) 63

64 Internal Nodes in B + -Trees Internal nodes form a multi-level sparse index on the leaf nodes. For an internal node with m pointers: P 1 K 1 P 2 K i-1 P i K i K m-1 P m X X X X < K 1 K i-1 X < K i X K m-1 Indexing and Hashing (Database System Concepts) 64

65 Example of a B + -Tree (1/2) B + -tree for account file (n = 3) Perryridge Mianus Redwood Brighton Downtown Mianus Perryridge Redwood Round Hill Brighton 217 Green 75 Downtown 11 Johnson 5 Downtown 11 Peterson 6 Mianus 215 Smith 7 Perryridge 12 Hayes 4 Perryridge 21 Williams 9 Perryridge 218 Lyle 7 Redwood 222 Lindsay 7 Round Hill 35 Turner 35 Indexing and Hashing (Database System Concepts) 65

66 Example of a B + -Tree (2/2) B + -tree for account file (n = 5) Perryridge Brighton Downtown Mianus Perryridge Redwood Round Hill Leaf nodes must have between 2 and 4 values ( (n-1)/2 and n-1, with n = 5). Internal nodes other than root must have between 3 and 5 children ( n/2 and n, with n = 5). Indexing and Hashing (Database System Concepts) 66

67 Observations about B + -Trees Searches can be conducted efficiently since the B + -tree contains a relatively small number of levels. Set of leaf nodes forms a simple relation having the search key as an attribute. Indexing and Hashing (Database System Concepts) 67

68 Queries on B + -Trees (1/2) Find all records with a search key value of k. Algorithm Search_B + -tree Start with the root node Examine the node for the smallest search key value > k. If such a value, K i, exists, then follow P i to the child node. Otherwise k K m-1, then follow P m to the child node. If the child node is an internal node, repeat the above procedure on the node. Else, i.e., if the child node is a leaf node: If key K i = k, follow pointer P i to the desired record or bucket. Else, no record with search key value k exists. Indexing and Hashing (Database System Concepts) 68

69 Queries on B + -Trees (2/2) A path is traversed from the root to some leaf node. Searches can be conducted efficiently. For K search key values, the path will be about log n/2 (K). The size of a node 4 KB, n 1 (4 bytes per index entry) For 1 million search key values, at most 4 (= log 5 1,,) nodes are access in a lookup. In case of a binary tree with 1 million search key values, around 2(= log 2 1,,) nodes are accessed in a lookup. The difference is significant since every node access may need a disk I/O. Indexing and Hashing (Database System Concepts) 69

70 Updates on B + -Trees: Insertion (1/3) Insert a record with a search key value of k. Algorithm Insert_B + -tree Find the leaf node in which k would appear. If k is already there in the leaf node, the record is added to file. If k is not there, then add the record to the file. Then: if there is room in the leaf node, insert (k, pointer) pair into leaf node at appropriate position. if there is no room in the leaf node, split it and insert (k, pointer) pair. Indexing and Hashing (Database System Concepts) 7

71 Updates on B + -Trees: Insertion (2/3) Algorithm Splitting_Node Take the n (key, pointer) pairs in sorted order. Place the first n/2 in the original node, and the rest in a new node. Make an index entry (k, p) for the new node. Insert the entry (k, p) in the parent of the node being split. If the root node is split, then the height of the tree is increased by 1. Indexing and Hashing (Database System Concepts) 71

72 Updates on B + -Trees: Insertion (3/3) Perryridge Mianus Redwood Brighton Downtown Mianus Perryridge Redwood Round Hill Insert Clearview split of leaf node Brighton Clearview Downtown Perryridge Downtown Mianus Redwood Brighton Clearview Downtown Mianus Perryridge Redwood Round Hill Indexing and Hashing (Database System Concepts) 72

73 Updates on B + -Trees: Deletion (1/2) Delete a record with a search key value of k. Algorithm Delete_B + -tree Find the record to be deleted, and remove it from the file. Remove (k, pointer) from the leaf node. If the node has too few entries(< (n-1)/2 ) due to the removal, and if the entries in the node and a sibling fit into a single node, then merge these nodes into one. If the entries in the node and a sibling do not fit into a single node, then redistribute index entries into these nodes. Indexing and Hashing (Database System Concepts) 73

74 Updates on B + -Trees: Deletion (2/2) Perryridge Downtown Mianus Redwood Brighton Clearview Downtown Mianus Perryridge Redwood Round Hill Delete Downtown merge nodes Brighton Clearview Perryridge Mianus Redwood Brighton Clearview Mianus Perryridge Redwood Round Hill Indexing and Hashing (Database System Concepts) 74

75 B-tree Index Files (1/2) Similar to B + -tree, but B-tree allows search key values to appear only once; eliminates redundant storage of search keys. Search keys in internal nodes appear nowhere else in the B-tree; an internal node includes an additional pointer field for each search key. Downtown Redwood Brighton Clearview Mianus Perryridge Round Hill Brighton 217 Green 75 Clearview 225 George 85 Downtown 11 Johnson 5 Downtown Mianus Perryridge Perryridge Round Hill 35 Turner 35 Indexing and Hashing (Database System Concepts) Peterson Smith Hayes Williams Redwood 222 Lindsay 7

76 B-tree Index Files (2/2) Advantages of B-tree indexes May use less tree nodes than a corresponding B + -tree. Sometimes possible to find search key value before reaching leaf node. Disadvantages of B-tree indexes Only small fraction of all search key values are found early. Since fan-out of internal nodes is reduced, depth is higher than B + -tree.. Insertion and deletion more complicated than in B + -trees. Implementation is harder than B + -trees. The advantages of B-tress are marginal for large indexes. The structural simplicity of a B + -tree is practically preferred. Indexing and Hashing (Database System Concepts) 76

77 강의 강의내용 Binary Trees (Ch. 6 in 화일구조 ) B-tree, B*-tree, Trie (Ch. 6 in 화일구조 ) B + -tree (Ch. 7 in 화일구조 ) Indexed Sequential File (Ch. 7 in 화일구조 ) Page 77

78 VSAM 파일 (1/3) VSAM: Virtual Storage Access Method B + - 트리인덱스구조기법을이용하는대표적인 Index-Sequential File 구성방법 VSAM 파일의구조 인덱스세트 (index set): 순차세트의상위인덱스로서, 여러단계로구성 Internal Nodes in B + -tree 순차세트 (sequence set): 제어구역에대한인덱스저장 Leaf Nodes in B + -tree 제어구간 (control interval): 데이타레코드저장 Data Pages(or Blocks) in B + -tree c.f.) 다음슬라이드의예참조 Page 78

79 VSAM 파일 (2/3) VSAM 파일의예 레벨 3 인덱스세트... 레벨 2... 레벨 1 순차세트 제어.... 구간 제어구역 1 제어구역 2 제어구역 n-1 자유공간 Page 79

80 VSAM 파일 (3/3) 제어구간의정보및구조 데이타블록 : 하나이상레코드의저장공간 추가적인데이타레코드의삽입에대비하여, 자유공간 (free space) 을유지함 데이타블록내에서는, 키값에따라물리적순서로저장 제어정보 (control information): 데이타레코드와자유공간에대한정보 제어구간의구조 레코드 1 레코드 2 레코드 3 레코드 4 레코드 5 레코드 6 자유공간 자유공간 레코드제어정보 자유공간제어정보 Page 8

81 ISAM 파일 (1/4) ISAM: Indexed Sequential Access Method 인덱스, 기본데이타구역 (prime data area) 과오버플로우구역 (overflow area) 으로구성 인덱스 : 마스터인덱스 (master index), 실린더인덱스 (cylinder index), 트랙인덱스 (track index) 로구성 효율적인삽입, 삭제처리를위하여오버플로우구역을별도로유지하는점이특이한점 많은 UNIX 시스템에서, ISAM 파일을기본적으로제공하며, 특히 C-ISAM 이란이름으로, C 언어에서사용할수있는 ISAM Interface 를제공함 Page 81

82 ISAM 파일 (2/4) ISAM 파일의예 기본데이터구역은 6개실린더로구성 실린더당 4개트랙 ( 마지막트랙은오버플로우구역 ) 트랙당 ( 최대 ) 5개의레코드수용 트랙당 4% 의자유공간 Page 82

83 ISAM 파일 (3/4) 오버플로우가발생한예 Page 83

84 ISAM 파일 (4/4) X/Open 규격 (X/Open Company, Ltd., X/Open Portability Guide, Prentice-Hall Inc., Dec ) 에정의된 ISAM 인터페이스 isopen, isstart isclose isread iswrcurr, iswrite isdelcurr, isdelete isrewcur, isrewrite isbuild isaddindex iserase isdelindex open a scan close a scan fetch a tuple (read a tuple) insert a tuple delete a tuple update a tuple create a relation create a B + -tree index destroy a relation drop a B + -tree index isindexinfo, isrename, isunlock, and etc. Page 84

85 Homework #2 Prefix B- 트리에대해서조사하여 1 페이지내로요약하여제출할것 B- 트리, B + - 트리, B*- 트리를비교하여, 각방법의장단점을 1 페이지내로요약하여제출할것 Due Date: 5/3( 화 ) Page 85

Microsoft PowerPoint Index Structures.ppt

Microsoft PowerPoint Index Structures.ppt 자료처리 () 26 년봄학기문양세강원대학교컴퓨터과학과 강의 강의내용 Binary Trees (Ch. 6 in 화일구조 ) B-tree, B*-tree, Trie (Ch. 6 in 화일구조 ) B + -tree (Ch. 7 in 화일구조 ) Indexed Sequential File (Ch. 7 in 화일구조 ) Page 2 색인, 인덱스 (Index) 특징

More information

chap 5: Trees

chap 5: Trees 5. Threaded Binary Tree 기본개념 n 개의노드를갖는이진트리에는 2n 개의링크가존재 2n 개의링크중에 n + 1 개의링크값은 null Null 링크를다른노드에대한포인터로대체 Threads Thread 의이용 ptr left_child = NULL 일경우, ptr left_child 를 ptr 의 inorder predecessor 를가리키도록변경

More information

정의 이진탐색트리 이진탐색트리 (BST: binary search tree) 는각각의노드가 BST 특성을만족하는키 - 주소쌍을가지고있는이진트리 BST 특성 트리에있는각각의키에대해, 왼쪽서브트리에있는모든키는이것보다작고, 오른쪽서브트리에있는모든키는이것보다큼 < > 2

정의 이진탐색트리 이진탐색트리 (BST: binary search tree) 는각각의노드가 BST 특성을만족하는키 - 주소쌍을가지고있는이진트리 BST 특성 트리에있는각각의키에대해, 왼쪽서브트리에있는모든키는이것보다작고, 오른쪽서브트리에있는모든키는이것보다큼 < > 2 13. 탐색트리 AVL 트리, B- 트리, 2-3-4 트리 정의 이진탐색트리 이진탐색트리 (BST: binary search tree) 는각각의노드가 BST 특성을만족하는키 - 주소쌍을가지고있는이진트리 BST 특성 트리에있는각각의키에대해, 왼쪽서브트리에있는모든키는이것보다작고, 오른쪽서브트리에있는모든키는이것보다큼 < > 2 이진탐색트리의예 3 BST 의최선과최악의경우

More information

v 이원탐색트리 (binary search tree) u 인덱스를조직하는한가지방법 u 이진트리 (binary tree) 유한한수의노드를가진트리 공백 (empty) 이거나루트와두개의분리된이진트리즉, 왼쪽서브트리 (left subtree) 와오른쪽서브트리 (right su

v 이원탐색트리 (binary search tree) u 인덱스를조직하는한가지방법 u 이진트리 (binary tree) 유한한수의노드를가진트리 공백 (empty) 이거나루트와두개의분리된이진트리즉, 왼쪽서브트리 (left subtree) 와오른쪽서브트리 (right su 6장인덱스구조 v 인덱스 (index) u 특징 화일의레코드들에대한효율적접근을위한조직 < 키값, 레코드주소 ( 포인터 )> 쌍으로구성 u 종류 키값의유형에따른인덱스 기본인덱스 (primary index) : 키값이기본키인인덱스 보조인덱스 (secondary index) : 기본인덱스이외의인덱스 화일조직에따른인덱스 집중인덱스 (clustered index) :

More information

7장인덱스된 순차화일 DBLAB, SNU v 인덱스된순차화일의구조 u 인덱스된순차화일 (indexed sequential file) 은순차데이타화일 (sequential data file) 과인덱스 (index) 로구성 u 순차데이타화일 키값에따라레코드들이순차적으로정렬

7장인덱스된 순차화일 DBLAB, SNU v 인덱스된순차화일의구조 u 인덱스된순차화일 (indexed sequential file) 은순차데이타화일 (sequential data file) 과인덱스 (index) 로구성 u 순차데이타화일 키값에따라레코드들이순차적으로정렬 7장인덱스된 순차화일 v 인덱스된순차화일의구조 u 인덱스된순차화일 (indexed sequential file) 은순차데이타화일 (sequential data file) 과인덱스 (index) 로구성 u 순차데이타화일 키값에따라레코드들이순차적으로정렬 레코드전체에대한순차접근을지원 u 인덱스화일 화일의레코드들에대한키값과포인터를저장 개별레코드에대한직접접근을지원 u

More information

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600

Microsoft PowerPoint - ch10 - 이진트리, AVL 트리, 트리 응용 pm0600 균형이진탐색트리 -VL Tree delson, Velskii, Landis에의해 1962년에제안됨 VL trees are balanced n VL Tree is a binary search tree such that for every internal node v of T, the heights of the children of v can differ by at

More information

chap 5: Trees

chap 5: Trees Chapter 5. TREES 목차 1. Introduction 2. 이진트리 (Binary Trees) 3. 이진트리의순회 (Binary Tree Traversals) 4. 이진트리의추가연산 5. 스레드이진트리 (Threaded Binary Trees) 6. 히프 (Heaps) 7. 이진탐색트리 (Binary Search Trees) 8. 선택트리 (Selection

More information

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx

Microsoft PowerPoint - 알고리즘_5주차_1차시.pptx Basic Idea of External Sorting run 1 run 2 run 3 run 4 run 5 run 6 750 records 750 records 750 records 750 records 750 records 750 records run 1 run 2 run 3 1500 records 1500 records 1500 records run 1

More information

슬라이드 1

슬라이드 1 CHAP 7: 트리 C 로쉽게풀어쓴자료구조 생능출판사 2005 트리 (TREE) 트리 : 계층적인구조를나타내는자료구조 트리는부모 - 자식관계의노드들로이루어진다. 대표이사 응용분야 : 계층적인조직표현 총무부 영업부 생산부 파일시스템 인공지능에서의결정트리 전산팀구매팀경리팀생산 1 팀생산 2 팀 트리의용어 노드 (node): 트리의구성요소 루트 (root): 부모가없는노드

More information

제 11 장 다원 탐색 트리

제 11 장 다원 탐색 트리 제 11 장 다원탐색트리 Copyright 07 DBLB, Seoul National University m- 원탐색트리의정의와성질 (1) 탐색성능을향상시키려면메모리접근횟수를줄여야함 탐색트리의높이를줄여야함 차수 (degree) 가 2보다큰탐색트리가필요 m- 원탐색트리 (m-way search tree) 공백이거나다음성질을만족 (1) 루트는최대 m 개의서브트리를가진다.

More information

Microsoft PowerPoint - 6장 탐색.pptx

Microsoft PowerPoint - 6장 탐색.pptx 01. 순차탐색 02. 이진탐색 03. 이진탐색트리 04. 레드블랙트리 탐색 (search) 기본적으로여러개의자료중에서원하는자료를찾는작업 컴퓨터가가장많이하는작업중의하나 탐색을효율적으로수행하는것은매우중요. 탐색키 (search key) 항목과항목을구별해주는키 (key) 탐색을위하여사용되는자료구조 배열, 연결리스트, 트리, 그래프등 탐색키데이터 순차탐색 (sequential

More information

Microsoft PowerPoint - 27.pptx

Microsoft PowerPoint - 27.pptx 이산수학 () n-항관계 (n-ary Relations) 2011년봄학기 강원대학교컴퓨터과학전공문양세 n-ary Relations (n-항관계 ) An n-ary relation R on sets A 1,,A n, written R:A 1,,A n, is a subset R A 1 A n. (A 1,,A n 에대한 n- 항관계 R 은 A 1 A n 의부분집합이다.)

More information

7장

7장 CHAP 7: 트리 C 로쉽게풀어쓴자료구조 트리 (TREE) 트리 : 계층적인구조를나타내는자료구조 트리는부모 - 자식관계의노드들로이루어진다. 응용분야 : 계층적인조직표현파일시스템인공지능에서의결정트리 대표이사 총무부 영업부 생산부 전산팀구매팀경리팀생산 1 팀생산 2 팀 * 예제 : 책그림 7-2, 7-3, 7-4 트리의용어 노드 (node): 트리의구성요소 루트

More information

Microsoft PowerPoint - lec07_tree [호환 모드]

Microsoft PowerPoint - lec07_tree [호환 모드] Tree 2008학년도 2학기 kkman@sangji.ac.krac kr -1- 트리 (Tree) 1. 개요 ~ 계층적인구조를나타내는비선형 (Non-linear) 자료구조 ~ 트리는부모 - 자식관계의노드로구성 ~ 응용분야 계층적인조직표현 파일시스템 인공지능에서의결정트리 -2- 트리자료구조를사용하는이유? ~ 다른자료구조와달리비선형구조. ~ 정렬된배열 탐색은빠르지만

More information

Microsoft PowerPoint - chap10_tree

Microsoft PowerPoint - chap10_tree Chap. 10 : Tree 2007 학년도 2 학기 1. 개요 재귀 (recursion) 의정의, 순환 ~ 정의하고있는개념자체에대한정의내부에자기자신이포함되어있는경우를의미 ~ 알고리즘이나함수가수행도중에자기자신을다시호출하여문제를해결하는기법 ~ 정의자체가순환적으로되어있는경우에적합한방법 ~ 예제 ) 팩토리얼값구하기 피보나치수열 이항계수 하노이의탑 이진탐색 -2-

More information

Ch.1 Introduction

Ch.1 Introduction Tree & Heap SANGJI University Kwangman Ko (kkman@sangji.ac.kr) 트리개요 트리 (Tree) ~ 계층적인구조를나타내는비선형 (Non-linear) 자료구조 ~ 트리는부모-자식관계의노드로구성 ~ 응용분야 계층적인조직표현 파일시스템 인공지능에서의결정트리 kkman@sangji.ac.kr 2 트리자료구조를사용하는이유?

More information

Microsoft PowerPoint - 알고리즘_11주차_2차시.pptx

Microsoft PowerPoint - 알고리즘_11주차_2차시.pptx 5 Collision Resolution by Progressive Overflow Progressive Overflow Linear Probing 51 How Progressive Overflow Works 기본개념 Collision 발생할때, 이후빈공간에삽입 ( 그림 104) End of file 일경우, 처음부터다시검색 ( 그림 105) Circular

More information

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드]

Microsoft PowerPoint - ch03ysk2012.ppt [호환 모드] 전자회로 Ch3 iode Models and Circuits 김영석 충북대학교전자정보대학 2012.3.1 Email: kimys@cbu.ac.kr k Ch3-1 Ch3 iode Models and Circuits 3.1 Ideal iode 3.2 PN Junction as a iode 3.4 Large Signal and Small-Signal Operation

More information

1장. 리스트

1장. 리스트 01. 순차탐색 02. 이진탐색 03. 이진탐색트리 04. 레드블랙트리 탐색 (search) 기본적으로여러개의자료중에서원하는자료를찾는작업 컴퓨터가가장많이하는작업중의하나 탐색을효율적으로수행하는것은매우중요. 탐색키 (search key) 항목과항목을구별해주는키 (key) 탐색을위하여사용되는자료구조 배열, 연결리스트, 트리, 그래프등 탐색키데이터 순차탐색 (sequential

More information

슬라이드 제목 없음

슬라이드 제목 없음 Chapter 5: TREES Trees Trees Def) a tree is finite set of one or more nodes such that 1) there is a special node (root) 2) remaining nodes are partitioned into n 0 disjoint trees T 1,T 2,,T n where each

More information

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures

A Hierarchical Approach to Interactive Motion Editing for Human-like Figures 단일연결리스트 (Singly Linked List) 신찬수 연결리스트 (linked list)? tail 서울부산수원용인 null item next 구조체복습 struct name_card { char name[20]; int date; } struct name_card a; // 구조체변수 a 선언 a.name 또는 a.date // 구조체 a의멤버접근 struct

More information

Microsoft PowerPoint - Chap5 [호환 모드]

Microsoft PowerPoint - Chap5 [호환 모드] 데이터구조 (hapter 5: Trees) 2011 년봄학기 숙명여자대학교정보과학부멀티미디어과학전공박영호 Index hapter 01: asic oncepts hapter 02: rrays and Structures hapter 03: Stacks and Queues hapter 04: Lists hapter 05: Trees hapter 06: Graphs

More information

Page 2 of 6 Here are the rules for conjugating Whether (or not) and If when using a Descriptive Verb. The only difference here from Action Verbs is wh

Page 2 of 6 Here are the rules for conjugating Whether (or not) and If when using a Descriptive Verb. The only difference here from Action Verbs is wh Page 1 of 6 Learn Korean Ep. 13: Whether (or not) and If Let s go over how to say Whether and If. An example in English would be I don t know whether he ll be there, or I don t know if he ll be there.

More information

고급자료구조

고급자료구조 배상원 Binary Search Tree (BST) Balanced BSTs Red-Black Tree Splay Tree Geometric Search Trees Range Tree Interval Tree Segment Tree Binary Indexed Tree Definition (recursive) An empty tree is a binary tree

More information

PowerPoint Presentation

PowerPoint Presentation FORENSICINSIGHT SEMINAR SQLite Recovery zurum herosdfrc@google.co.kr Contents 1. SQLite! 2. SQLite 구조 3. 레코드의삭제 4. 삭제된영역추적 5. 레코드복원기법 forensicinsight.org Page 2 / 22 SQLite! - What is.. - and why? forensicinsight.org

More information

step 1-1

step 1-1 Written by Dr. In Ku Kim-Marshall STEP BY STEP Korean 1 through 15 Action Verbs Table of Contents Unit 1 The Korean Alphabet, hangeul Unit 2 Korean Sentences with 15 Action Verbs Introduction Review Exercises

More information

08장.트리

08장.트리 ---------------- T STRUTURES USING ---------------- HPTER 트리 /29 트리 (TREE) 트리 : 계층적인구조를나타내는자료구조 트리는부모-자식관계의노드들로이루어짐 응용분야 : 대표이사 총무부 영업부 생산부 전산팀구매팀경리팀 생산 팀 생산 2 팀 (a) 회사의조직도 내문서 동영상음악사진 영화예능드라마 여행 (b) 컴퓨터의폴더구조

More information

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100

Microsoft PowerPoint - ch09 - 연결형리스트, Stack, Queue와 응용 pm0100 2015-1 프로그래밍언어 9. 연결형리스트, Stack, Queue 2015 년 5 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) 연결리스트 (Linked List) 연결리스트연산 Stack

More information

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션 Reasons for Poor Performance Programs 60% Design 20% System 2.5% Database 17.5% Source: ORACLE Performance Tuning 1 SMS TOOL DBA Monitoring TOOL Administration TOOL Performance Insight Backup SQL TUNING

More information

o 경로 (path) 트리에서사용하는용어 ~ 어떤한노드에서다른노드까지링크를통해이동했을때, 거쳐온노드들의집합. o 루트 (root) ~ 트리의가장상위에있는노드로루트는항상하나만존재 o 부모, 자식 (parent, children) ~ 링크로연결된노드중위에있는노드를부모노드,

o 경로 (path) 트리에서사용하는용어 ~ 어떤한노드에서다른노드까지링크를통해이동했을때, 거쳐온노드들의집합. o 루트 (root) ~ 트리의가장상위에있는노드로루트는항상하나만존재 o 부모, 자식 (parent, children) ~ 링크로연결된노드중위에있는노드를부모노드, Tree & Heap SANGJI University Kwangman Ko kkman@sangji.ac.kr - 1 - o 트리 (Tree) 1. 개요 ~ 계층적인구조를나타내는비선형 (Non-linear) 자료구조 ~ 트리는부모 - 자식관계의노드로구성 ~ 응용분야 계층적인조직표현 파일시스템 인공지능에서의결정트리 - 2 - o 트리자료구조를사용하는이유? ~ 다른자료구조와달리비선형구조.

More information

#Ȳ¿ë¼®

#Ȳ¿ë¼® http://www.kbc.go.kr/ A B yk u δ = 2u k 1 = yk u = 0. 659 2nu k = 1 k k 1 n yk k Abstract Web Repertoire and Concentration Rate : Analysing Web Traffic Data Yong - Suk Hwang (Research

More information

2002년 2학기 자료구조

2002년 2학기 자료구조 자료구조 (Data Structures) Chapter 1 Basic Concepts Overview : Data (1) Data vs Information (2) Data Linear list( 선형리스트 ) - Sequential list : - Linked list : Nonlinear list( 비선형리스트 ) - Tree : - Graph : (3)

More information

Chapter 4. LISTS

Chapter 4. LISTS C 언어에서리스트구현 리스트의생성 struct node { int data; struct node *link; ; struct node *ptr = NULL; ptr = (struct node *) malloc(sizeof(struct node)); Self-referential structure NULL: defined in stdio.h(k&r C) or

More information

11¹Ú´ö±Ô

11¹Ú´ö±Ô A Review on Promotion of Storytelling Local Cultures - 265 - 2-266 - 3-267 - 4-268 - 5-269 - 6 7-270 - 7-271 - 8-272 - 9-273 - 10-274 - 11-275 - 12-276 - 13-277 - 14-278 - 15-279 - 16 7-280 - 17-281 -

More information

6장정렬알고리즘.key

6장정렬알고리즘.key 6 : :. (Internal sort) (External sort) (main memory). :,,.. 6.1 (Bubbble Sort).,,. 1 (pass). 1 pass, 1. (, ), 90 (, ). 2 40-50 50-90, 50 10. 50 90. 40 50 10 비교 40 50 10 비교 40 50 10 40 10 50 40 10 50 90

More information

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins

InsertColumnNonNullableError(#colName) 에해당하는메시지출력 존재하지않는컬럼에값을삽입하려고할경우, InsertColumnExistenceError(#colName) 에해당하는메시지출력 실행결과가 primary key 제약에위배된다면, Ins Project 1-3: Implementing DML Due: 2015/11/11 (Wed), 11:59 PM 이번프로젝트의목표는프로젝트 1-1 및프로젝트 1-2에서구현한프로그램에기능을추가하여간단한 DML을처리할수있도록하는것이다. 구현한프로그램은 3개의 DML 구문 (insert, delete, select) 을처리할수있어야한다. 테이블데이터는파일에저장되어프로그램이종료되어도사라지지않아야한다.

More information

Chapter 4. LISTS

Chapter 4. LISTS 연결리스트의응용 류관희 충북대학교 1 체인연산 체인을역순으로만드는 (inverting) 연산 3 개의포인터를적절히이용하여제자리 (in place) 에서문제를해결 typedef struct listnode *listpointer; typedef struct listnode { char data; listpointer link; ; 2 체인연산 체인을역순으로만드는

More information

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table

쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table 쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table http://academy.hanb.co.kr 6장. 해시테이블 테이블 Hash Table 사실을많이아는것보다는이론적틀이중요하고, 기억력보다는생각하는법이더중요하다. - 제임스왓슨 - 2 - 학습목표 해시테이블의발생동기를이해한다. 해시테이블의원리를이해한다. 해시함수설계원리를이해한다. 충돌해결방법들과이들의장단점을이해한다.

More information

Microsoft PowerPoint - 제8장-트리.pptx

Microsoft PowerPoint - 제8장-트리.pptx 제 8 강의. 트리 (Tree) 자료구조 1. 트리의개념 2. 이진트리 3. 이진트리의저장 1 트리자료구조필요성연결리스트의삽입삭제시데이터를이동하지않는장점을살리자. 연결리스트의검색시노드의처음부터찾아가야하는단점을보완하자. 데이터를중간부터찾아가는이진검색의장점을이용하자. 연결리스트의포인터를리스트의중간에두는방법? ptr 10 23 34 42 56 검색을중간부터시작하여좌우중하나로분기,

More information

<3130C0E5>

<3130C0E5> Redundancy Adding extra bits for detecting or correcting errors at the destination Types of Errors Single-Bit Error Only one bit of a given data unit is changed Burst Error Two or more bits in the data

More information

슬라이드 1

슬라이드 1 CHAP 7: 트리 트리 (TREE) 트리 : 계층적인구조를나타내는자료구조 리스트, 스택, 큐등은선형구조 트리는부모 - 자식관계의노드들로이루어진다. 응용분야 : 계층적인조직표현 컴퓨터디스크의디렉토리구조 인공지능에서의결정트리 (decision tree) 회사의조직 파일디렉토리구조 결정트리 ( 예 ) 골프에대한결정트리 트리의용어 노드 (node): 트리의구성요소

More information

1장. 리스트

1장. 리스트 01. 순차탐색 02. 이진탐색 03. 이진탐색트리 04. 레드블랙트리 05. AVL 트리 06. B- 트리 탐색 (search) 기본적으로여러개의자료중에서원하는자료를찾는작업 컴퓨터가가장많이하는작업중의하나 탐색을효율적으로수행하는것은매우중요. 탐색키 (search key) 항목과항목을구별해주는키 (key) 탐색을위하여사용되는자료구조 배열, 연결리스트, 트리,

More information

untitled

untitled (shared) (integrated) (stored) (operational) (data) : (DBMS) :, (database) :DBMS File & Database - : - : ( : ) - : - : - :, - DB - - -DBMScatalog meta-data -DBMS -DBMS - -DBMS concurrency control E-R,

More information

슬라이드 1

슬라이드 1 Data Structure Chapter 7. 트리 Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr 트리의개념 트리 (Tree) 트리 : 계층적인구조를나타내는자료구조 리스트, 스택, 큐등은선형구조 정의 (1) 하나의루트 (root) 노드 (2) 다수의서브트리 (subtree) 트리는부모-자식관계의노드들로이루어짐

More information

05_tree

05_tree Tree Data Structures and Algorithms 목차 트리의개요 이진트리의구현 이진트리의순회 (Traversal) 수식트리 (Expression Tree) 의구현 Data Structures and Algorithms 2 트리의개요 Data Structures and Algorithms 3 트리의접근과이해 트리는계층적관계 (Hierarchical

More information

제 1 장 기본 개념

제 1 장 기본 개념 이진트리순회와트리반복자 트리순회 (tree traversal) 트리에있는모든노드를한번씩만방문 순회방법 : LVR, LRV, VLR, VRL, RVL, RLV L : 왼쪽이동, V : 노드방문, R : 오른쪽이동 왼쪽을오른쪽보다먼저방문 (LR) LVR : 중위 (inorder) 순회 VLR : 전위 (preorder) 순회 LRV : 후위 (postorder)

More information

- iii - - i - - ii - - iii - 국문요약 종합병원남자간호사가지각하는조직공정성 사회정체성과 조직시민행동과의관계 - iv - - v - - 1 - - 2 - - 3 - - 4 - - 5 - - 6 - - 7 - - 8 - - 9 - - 10 - - 11 - - 12 - - 13 - - 14 - α α α α - 15 - α α α α α α

More information

<B3EDB9AEC1FD5F3235C1FD2E687770>

<B3EDB9AEC1FD5F3235C1FD2E687770> 경상북도 자연태음악의 소박집합, 장단유형, 전단후장 경상북도 자연태음악의 소박집합, 장단유형, 전단후장 - 전통 동요 및 부녀요를 중심으로 - 이 보 형 1) * 한국의 자연태 음악 특성 가운데 보편적인 특성은 대충 밝혀졌지만 소박집합에 의한 장단주기 박자유형, 장단유형, 같은 층위 전후 구성성분의 시가( 時 價 )형태 등 은 밝혀지지 않았으므로

More information

歯1.PDF

歯1.PDF 200176 .,.,.,. 5... 1/2. /. / 2. . 293.33 (54.32%), 65.54(12.13%), / 53.80(9.96%), 25.60(4.74%), 5.22(0.97%). / 3 S (1997)14.59% (1971) 10%, (1977).5%~11.5%, (1986)

More information

MS-SQL SERVER 대비 기능

MS-SQL SERVER 대비 기능 Business! ORACLE MS - SQL ORACLE MS - SQL Clustering A-Z A-F G-L M-R S-Z T-Z Microsoft EE : Works for benchmarks only CREATE VIEW Customers AS SELECT * FROM Server1.TableOwner.Customers_33 UNION ALL SELECT

More information

11강-힙정렬.ppt

11강-힙정렬.ppt 11 (Heap ort) leejaku@shinbiro.com Topics? Heap Heap Opeations UpHeap/Insert, DownHeap/Extract Binary Tree / Index Heap ort Heap ort 11.1 (Priority Queue) Operations ? Priority Queue? Priority Queue tack

More information

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx

Microsoft PowerPoint - 알고리즘_1주차_2차시.pptx Chapter 2 Secondary Storage and System Software References: 1. M. J. Folk and B. Zoellick, File Structures, Addison-Wesley. 목차 Disks Storage as a Hierarchy Buffer Management Flash Memory 영남대학교데이터베이스연구실

More information

입학사정관제도

입학사정관제도 자료구조 강의노트 교재 : C 로배우는쉬운자료구조 ( 개정판 ) 출판사 : 한빛미디어 (2011 년 3 월발행 ) 저자 : 이지영 소프트웨어학과원성현교수 1 8 장트리 소프트웨어학과원성현교수 93 1. 트리 트리개요 트리 (tree) 란? 리스트, 스택, 큐등은선형자료구조 (linear data structure) 인것에반해서트리는계층 (hierarchy)

More information

C 언어 강의노트

C 언어 강의노트 C언어 (CSE2035) (15-1 Lists) Linear list 의구성, Insertion, deletion 윤용운, Ph.D. Dept. of Computer Science and Engineering Sogang University Seoul, Korea Tel: 010-3204-6811 Email : yuyoon0@sogang.ac.kr 2018-01-11

More information

04-다시_고속철도61~80p

04-다시_고속철도61~80p Approach for Value Improvement to Increase High-speed Railway Speed An effective way to develop a highly competitive system is to create a new market place that can create new values. Creating tools and

More information

chap01_time_complexity.key

chap01_time_complexity.key 1 : (resource),,, 2 (time complexity),,, (worst-case analysis) (average-case analysis) 3 (Asymptotic) n growth rate Θ-, Ο- ( ) 4 : n data, n/2. int sample( int data[], int n ) { int k = n/2 ; return data[k]

More information

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp

[ReadyToCameral]RUF¹öÆÛ(CSTA02-29).hwp RUF * (A Simple and Efficient Antialiasing Method with the RUF buffer) (, Byung-Uck Kim) (Yonsei Univ. Depth of Computer Science) (, Woo-Chan Park) (Yonsei Univ. Depth of Computer Science) (, Sung-Bong

More information

본문01

본문01 Ⅱ 논술 지도의 방법과 실제 2. 읽기에서 논술까지 의 개발 배경 읽기에서 논술까지 자료집 개발의 본래 목적은 초 중 고교 학교 평가에서 서술형 평가 비중이 2005 학년도 30%, 2006학년도 40%, 2007학년도 50%로 확대 되고, 2008학년도부터 대학 입시에서 논술 비중이 커지면서 논술 교육은 학교가 책임진다. 는 풍토 조성으로 공교육의 신뢰성과

More information

Microsoft PowerPoint - 26.pptx

Microsoft PowerPoint - 26.pptx 이산수학 () 관계와그특성 (Relations and Its Properties) 2011년봄학기 강원대학교컴퓨터과학전공문양세 Binary Relations ( 이진관계 ) Let A, B be any two sets. A binary relation R from A to B, written R:A B, is a subset of A B. (A 에서 B 로의이진관계

More information

¹Ìµå¹Ì3Â÷Àμâ

¹Ìµå¹Ì3Â÷Àμâ MIDME LOGISTICS Trusted Solutions for 02 CEO MESSAGE MIDME LOGISTICS CO., LTD. 01 Ceo Message We, MIDME LOGISTICS CO., LTD. has established to create aduance logistics service. Try to give confidence to

More information

public key private key Encryption Algorithm Decryption Algorithm 1

public key private key Encryption Algorithm Decryption Algorithm 1 public key private key Encryption Algorithm Decryption Algorithm 1 One-Way Function ( ) A function which is easy to compute in one direction, but difficult to invert - given x, y = f(x) is easy - given

More information

Microsoft PowerPoint Predicates and Quantifiers.ppt

Microsoft PowerPoint Predicates and Quantifiers.ppt 이산수학 () 1.3 술어와한정기호 (Predicates and Quantifiers) 2006 년봄학기 문양세강원대학교컴퓨터과학과 술어 (Predicate), 명제함수 (Propositional Function) x is greater than 3. 변수 (variable) = x 술어 (predicate) = P 명제함수 (propositional function)

More information

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>

<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8> 데이터베이스 (Database) ER- 관계사상에의한관계데이터베이스설계 문양세강원대학교 IT특성화대학컴퓨터과학전공 설계과정 [ 그림 3.1] 작은세계 요구사항들의수정과분석 Functional Requirements 데이타베이스요구사항들 FUNCTIONAL ANALYSIS 개념적설계 ERD 사용 High level ltransaction Specification

More information

슬라이드 1

슬라이드 1 CHAP 7: 트리 yicho@gachon.ac.kr 1 트리 (TREE) 트리 : 계층적인구조를나타내는자료구조 리스트, 스택, 큐등은선형구조 트리는부모 - 자식관계의노드들로이루어진다. 응용분야 : 계층적인조직표현 컴퓨터디스크의디렉토리구조 인공지능에서의결정트리 (decision tree) 2 2 회사의조직 대표이사 총무부 영업부 생산부 전산팀구매팀경리팀생산

More information

슬라이드 1

슬라이드 1 6-1 리스트 (list) 란순서를가진항목들을표현하는자료구조 리스트를구현하는두가지방법 배열 (array) 을이용하는방법 구현간단 삽입, 삭제시오버헤드 항목의개수제한 연결리스트 (linked list) 를이용하는방법 구현복잡 삽입, 삭제가효율적 크기가제한되지않음 6-2 객체 : n 개의 element 형으로구성된순서있는모임 연산 : add_last(list,

More information

DW 개요.PDF

DW 개요.PDF Data Warehouse Hammersoftkorea BI Group / DW / 1960 1970 1980 1990 2000 Automating Informating Source : Kelly, The Data Warehousing : The Route to Mass Customization, 1996. -,, Data .,.., /. ...,.,,,.

More information

슬라이드 제목 없음

슬라이드 제목 없음 2006-09-27 경북대학교컴퓨터공학과 1 제 5 장서브넷팅과슈퍼넷팅 서브넷팅 (subnetting) 슈퍼넷팅 (Supernetting) 2006-09-27 경북대학교컴퓨터공학과 2 서브넷팅과슈퍼넷팅 서브넷팅 (subnetting) 하나의네트워크를여러개의서브넷 (subnet) 으로분할 슈퍼넷팅 (supernetting) 여러개의서브넷주소를결합 The idea

More information

` Companies need to play various roles as the network of supply chain gradually expands. Companies are required to form a supply chain with outsourcing or partnerships since a company can not

More information

- i - - ii - - iii - - iv - - v - - vi - - 1 - - 2 - - 3 - 1) 통계청고시제 2010-150 호 (2010.7.6 개정, 2011.1.1 시행 ) - 4 - 요양급여의적용기준및방법에관한세부사항에따른골밀도검사기준 (2007 년 11 월 1 일시행 ) - 5 - - 6 - - 7 - - 8 - - 9 - - 10 -

More information

07_Àü¼ºÅÂ_0922

07_Àü¼ºÅÂ_0922 176 177 1) 178 2) 3) 179 4) 180 5) 6) 7) 8) 9) 10) 181 11) 12) 182 13) 14) 15) 183 16) 184 185 186 17) 18) 19) 20) 21) 187 22) 23) 24) 25) 188 26) 27) 189 28) 29) 30)31) 32) 190 33) 34) 35) 36) 191 37)

More information

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT

3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT 3 S Q L A n t i p a t t e r n s Trees/intro/parent.sql CREATE TABLE Comments ( comment_id SERIAL PRIMARY KEY, parent_id BIGINT UNSIGNED, comment TEXT NOT NULL, FOREIGN KEY (parent_id) REFERENCES Comments(comment_id)

More information

금오공대 컴퓨터공학전공 강의자료

금오공대 컴퓨터공학전공 강의자료 데이터베이스및설계 Chap 1. 데이터베이스환경 (#2/2) 2013.03.04. 오병우 컴퓨터공학과 Database 용어 " 데이타베이스 용어의기원 1963.6 제 1 차 SDC 심포지움 컴퓨터중심의데이타베이스개발과관리 Development and Management of a Computer-centered Data Base 자기테이프장치에저장된데이터파일을의미

More information

0125_ 워크샵 발표자료_완성.key

0125_ 워크샵 발표자료_완성.key WordPress is a free and open-source content management system (CMS) based on PHP and MySQL. WordPress is installed on a web server, which either is part of an Internet hosting service or is a network host

More information

Page 2 of 5 아니다 means to not be, and is therefore the opposite of 이다. While English simply turns words like to be or to exist negative by adding not,

Page 2 of 5 아니다 means to not be, and is therefore the opposite of 이다. While English simply turns words like to be or to exist negative by adding not, Page 1 of 5 Learn Korean Ep. 4: To be and To exist Of course to be and to exist are different verbs, but they re often confused by beginning students when learning Korean. In English we sometimes use the

More information

5장 SQL 언어 Part II

5장 SQL 언어 Part II 5 장 SQL 언어 Part II 박창이 서울시립대학교통계학과 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 1 / 26 데이터조작문 데이터검색 : SELECT 문데이터추가 : INSERT 문데이터수정 : UPDATE 문데이터삭제 : DELETE 문 박창이 ( 서울시립대학교통계학과 ) 5 장 SQL 언어 Part II 2 / 26 SELECT

More information

Output file

Output file 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 An Application for Calculation and Visualization of Narrative Relevance of Films Using Keyword Tags Choi Jin-Won (KAIST) Film making

More information

Microsoft PowerPoint Merging and Sorting Files.ppt

Microsoft PowerPoint Merging and Sorting Files.ppt 자료처리 () 006 년봄학기문양세강원대학교컴퓨터과학과 정렬 / 합병의개요 정렬의종류 : 내부정렬, 외부정렬 내부정렬 (internal sorting) 데이타가적어서메인메모리내에모두저장시켜정렬가능할때사용함 레코드의판독 (read) 및기록 (write) 에걸리는시간이문제가되지않음 외부정렬 (external sorting) 데이타가많아서메인메모리의용량을초과하여보조기억장치

More information

PowerPoint Presentation

PowerPoint Presentation Server I/O utilization System I/O utilization V$FILESTAT V$DATAFILE Data files Statspack Performance tools TABLESPACE FILE_NAME PHYRDS PHYBLKRD READTIM PHYWRTS PHYBLKWRT WRITETIM ------------- -----------------------

More information

DBPIA-NURIMEDIA

DBPIA-NURIMEDIA 27(2), 2007, 96-121 S ij k i POP j a i SEXR j i AGER j i BEDDAT j ij i j S ij S ij POP j SEXR j AGER j BEDDAT j k i a i i i L ij = S ij - S ij ---------- S ij S ij = k i POP j a i SEXR j i AGER j i BEDDAT

More information

쉽게 배우는 알고리즘 강의노트

쉽게 배우는 알고리즘 강의노트 쉽게배우는알고리즘 장. 정렬 Sorting http://www.hanbit.co.kr 장. 정렬 Sorting 은유, 그것은정신적상호연관성의피륙을짜는방법이다. 은유는살아있다는것의바탕이다. - 그레고리베이트슨 - 2 - 학습목표 기본정렬알고리즘을이해한다. 정렬을귀납적관점에서볼수있도록한다. 1 장과 2 장에서배운기법을사용해각정렬의수행시간을분석할수있도록한다. 비교정렬의한계를이해하고,

More information

Microsoft PowerPoint - 자료구조2008Chap07

Microsoft PowerPoint - 자료구조2008Chap07 제 7 장트리 7.1 트리의정의 1 Tree 비선형구조, 다차원적구조 원소마다다음에여러개의원소가존재 하나이상의노드로구성된유한집합 정의1 : 루트 (root) 라는특별한노드를가지는사이클이존재치않는그래프 (acyclic graph) 정의 2 : 하나이상의노드로구성된유한집합 루트 (root) 라는특별한노드존재 나머지노드들은다시각각의트리이면서교차하지않는분리집합 (disjoint

More information

Chap 6: Graphs

Chap 6: Graphs 그래프표현법 인접행렬 (Adjacency Matrix) 인접리스트 (Adjacency List) 인접다중리스트 (Adjacency Multilist) 6 장. 그래프 (Page ) 인접행렬 (Adjacency Matrix) n 개의 vertex 를갖는그래프 G 의인접행렬의구성 A[n][n] (u, v) E(G) 이면, A[u][v] = Otherwise, A[u][v]

More information

Å©·¹Àγ»Áö20p

Å©·¹Àγ»Áö20p Main www.bandohoist.com Products Wire Rope Hoist Ex-proof Hoist Chain Hoist i-lifter Crane Conveyor F/A System Ci-LIFTER Wire Rope Hoist & Explosion-proof Hoist Mono-Rail Type 1/2ton~20ton Double-Rail

More information

歯kjmh2004v13n1.PDF

歯kjmh2004v13n1.PDF 13 1 ( 24 ) 2004 6 Korean J Med Hist 13 1 19 Jun 2004 ISSN 1225 505X 1) * * 1 ( ) 2) 3) 4) * 1) ( ) 3 2) 7 1 3) 2 1 13 1 ( 24 ) 2004 6 5) ( ) ( ) 2 1 ( ) 2 3 2 4) ( ) 6 7 5) - 2003 23 144-166 2 2 1) 6)

More information

제 10 장 최적 이원 탐색 트리

제 10 장 최적 이원 탐색 트리 제 1 장 최적이원탐색트리 Copyright 27 DBLAB, Seoul National University 최적이원탐색트리 (1/11) 개요 정적원소들의집합에대한이원탐색트리구조 삽입이나삭제는하지않고탐색만수행 정렬된리스트 함수 Get( 프로그램 5.19 참고 ) 이용 비용측정방법 함수 Get 이용 for 루프를 l 번반복 1 5 15 리스트 (5,1,15)

More information

04_오픈지엘API.key

04_오픈지엘API.key 4. API. API. API..,.. 1 ,, ISO/IEC JTC1/SC24, Working Group ISO " (Architecture) " (API, Application Program Interface) " (Metafile and Interface) " (Language Binding) " (Validation Testing and Registration)"

More information

슬라이드 1

슬라이드 1 Data Structure Chapter 8. 우선순위큐 Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr 우선순위큐추상데이터타입 우선순위큐 우선순위큐 (priority queue) 정의 : 우선순위를가진항목들을저장하는큐 FIFO 순서가아니라우선순위가높은데이터가먼저나가게됨 스택이나 FIFO 큐를우선순위큐로구현할수있음

More information

목 차

목      차 Oracle 9i Admim 1. Oracle RDBMS 1.1 (System Global Area:SGA) 1.1.1 (Shared Pool) 1.1.2 (Database Buffer Cache) 1.1.3 (Redo Log Buffer) 1.1.4 Java Pool Large Pool 1.2 Program Global Area (PGA) 1.3 Oracle

More information

Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI: (LiD) - - * Way to

Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp DOI:   (LiD) - - * Way to Journal of Educational Innovation Research 2019, Vol. 29, No. 1, pp.353-376 DOI: http://dx.doi.org/10.21024/pnuedi.29.1.201903.353 (LiD) -- * Way to Integrate Curriculum-Lesson-Evaluation using Learning-in-Depth

More information

PowerSHAPE 따라하기 Calculate 버튼을 클릭한다. Close 버튼을 눌러 미러 릴리프 페이지를 닫는다. D 화면을 보기 위하여 F 키를 누른다. - 모델이 다음과 같이 보이게 될 것이다. 열매 만들기 Shape Editor를 이용하여 열매를 만들어 보도록

PowerSHAPE 따라하기 Calculate 버튼을 클릭한다. Close 버튼을 눌러 미러 릴리프 페이지를 닫는다. D 화면을 보기 위하여 F 키를 누른다. - 모델이 다음과 같이 보이게 될 것이다. 열매 만들기 Shape Editor를 이용하여 열매를 만들어 보도록 PowerSHAPE 따라하기 가구 장식 만들기 이번 호에서는 ArtCAM V를 이용하여 가구 장식물에 대해서 D 조각 파트를 생성해 보도록 하겠다. 중심 잎 만들기 투 레일 스윕 기능을 이용하여 개의 잎을 만들어보도록 하겠다. 미리 준비된 Wood Decoration.art 파일을 불러온다. Main Leaves 벡터 레이어를 on 시킨다. 릴리프 탭에 있는

More information

Microsoft PowerPoint - o8.pptx

Microsoft PowerPoint - o8.pptx 메모리보호 (Memory Protection) 메모리보호를위해 page table entry에 protection bit와 valid bit 추가 Protection bits read-write / read-only / executable-only 정의 page 단위의 memory protection 제공 Valid bit (or valid-invalid bit)

More information

02이용배(239~253)ok

02이용배(239~253)ok A study on the characteristic of land use in subcenter of Seoul. - Cases of Yeongdeungpo and Kangnam Ok Kyung Yuh* Yong-Bae Lee**,. 2010,,..,.,,,,.,,.,,.,,,, Abstract : This study analyzed the land use

More information

민속지_이건욱T 최종

민속지_이건욱T 최종 441 450 458 466 474 477 480 This book examines the research conducted on urban ethnography by the National Folk Museum of Korea. Although most people in Korea

More information

강의 개요

강의 개요 DDL TABLE 을만들자 웹데이터베이스 TABLE 자료가저장되는공간 문자자료의경우 DB 생성시지정한 Character Set 대로저장 Table 생성시 Table 의구조를결정짓는열속성지정 열 (Clumn, Attribute) 은이름과자료형을갖는다. 자료형 : http://dev.mysql.cm/dc/refman/5.1/en/data-types.html TABLE

More information

슬라이드 1

슬라이드 1 CHAP 8: 우선순위큐 yicho@gachon.ac.kr 1 우선순위큐 우선순위큐 (priority queue): 우선순위를가진항목들을저장하는큐 FIFO 순서가아니라우선순위가높은데이터가먼저나가게된다. 가장일반적인큐 : 스택이나 FIFO 큐를우선순위큐로구현할수있다. 자료구조스택큐우선순위큐 삭제되는요소가장최근에들어온데이터가장먼저들어온데이터가장우선순위가높은데이터

More information

PJTROHMPCJPS.hwp

PJTROHMPCJPS.hwp 제 출 문 농림수산식품부장관 귀하 본 보고서를 트위스트 휠 방식 폐비닐 수거기 개발 과제의 최종보고서로 제출 합니다. 2008년 4월 24일 주관연구기관명: 경 북 대 학 교 총괄연구책임자: 김 태 욱 연 구 원: 조 창 래 연 구 원: 배 석 경 연 구 원: 김 승 현 연 구 원: 신 동 호 연 구 원: 유 기 형 위탁연구기관명: 삼 생 공 업 위탁연구책임자:

More information

14장.탐색

14장.탐색 ---------------- DATA STRUCTURES USING C ---------------- CHAPTER 탐색 1/28 탐색 (search) 이란? 여러개의자료중에서원하는자료를찾는작업 컴퓨터가가장많이하는작업중의하나 탐색을효율적으로수행하는것은매우중요 탐색키 (search key) 항목과항목을구별해주는키 (key) 탐색을위하여사용되는자료구조 배열,

More information

Microsoft PowerPoint Relations.pptx

Microsoft PowerPoint Relations.pptx 이산수학 () 관계와그특성 (Relations and Its Properties) 2010년봄학기강원대학교컴퓨터과학전공문양세 Binary Relations ( 이진관계 ) Let A, B be any two sets. A binary relation R from A to B, written R:A B, is a subset of A B. (A 에서 B 로의이진관계

More information

Stage 2 First Phonics

Stage 2 First Phonics ORT Stage 2 First Phonics The Big Egg What could the big egg be? What are the characters doing? What do you think the story will be about? (큰 달걀은 무엇일까요? 등장인물들은 지금 무엇을 하고 있는 걸까요? 책은 어떤 내용일 것 같나요?) 대해 칭찬해

More information