PowerPoint 프레젠테이션
|
|
- 종석 도
- 6 years ago
- Views:
Transcription
1 13 장. 균형탐색트리 균형탐색트리 트리의작업효율을높이기위한다양한균형트리알고리즘을비교 학습목표 트리의균형이효율에미치는영향을이해한다. AVL 트리에서균형을회복하기위한방법을이해한다. 스플레이기법을이해한다. 2-3 트리에서균형을회복하기위한방법을이해한다 트리와레드블랙트리의관계를이해한다. 1
2 균형 균형 2
3 AVL G. M. Adelson-Velskii and E. M. Landis AVL 트리 : 항상균형을유지하는이진탐색트리삽입삭제가일어날때마다트리의균형상태를점검하고복원 균형의점검 균형인수 (Balance Factor) 를사용 노드마다서브트리의높이에서왼쪽서브트리의높이를뺀것 3
4 AVL 트리 균형 균형인수값은반드시 -1, 0, +1 중하나. 왼쪽트리로부터노드 K 를삭제함에따라균형이깨어진것이오른쪽트리. 균형인수의범위초과 왼쪽트리에서노드 E 의왼쪽자식에삽입이가해졌다면루트 F 를기준으로왼쪽서브트리의높이가증가 삽입으로인해만약어떤노드의균형인수가범위를벗어났다면, 그노드는삽입위치인 E 의왼쪽자식으로부터루트 F 까지가는길목에있는 E, D, F 중에존재 4
5 AVL 의회전 회전 (Rotation) 에의한균형회복 불균형노드의위치를기준으로 LL, LR, RL, RR 로분류 LL 회전은불균형노드의왼쪽서브트리의왼쪽서브트리의높이가증가 LL 의 RChild 에삽입되는경우와, LChild) 에삽입되는경우 L L L 7 20 L
6 LL 회전 불균형노드 ( 루트노드 ) 루트의 LChild 7 의 RChild 연결이끊어져서루트의 LChild 로붙음 루트의 LChild 인노드 7 을중심으로회전이일어나노드 7 이새로운루트로 7 이루트가되면 7 보다큰 10 은 7 의중위후속자가되어야함. 루트 12 의부모노드로부터내려오던링크를새로운루트 7 에연결 이진탐색트리의키크기가유지되면서트리의균형이회복. 6
7 LR 회전 불균형이발생한노드의왼쪽서브트리의오른쪽서브트리높이가증가 이중회전 (Double Rotation) 루트의 LChild 의 RChild 10 을회전시켜그것이부모노드인 7 의위치로 삽입된노드 8 은노드 10 과의연결을끊고노드 7 의 RChild 로 루트의 LChild 10 을중심으로회전이이루어져 10 이새로운트리의루트로 원래의루트와연결된부모노드의링크는새로운루트인노드 10 과연결 7
8 기타회전예 RR, RL 은 LL, LR 에대칭적인경우 예제 : (a) 는노드 10 의삽입으로인해루트 30 을기준으로 LL 회전이필요 (b) 는노드 30 의삽입으로인해루트 10 을기준으로 RR 회전이필요 (d) 는노드 60 의삽입으로인해 RR 회전이필요한경우 8
9 AVL AVL 트리 가장먼저시도된이론 균형을잡기위해트리모습을수정 실제코딩면에서볼때 AVL 트리는매우까다롭고복잡 트리의균형 탐색효율 O(lgN) 을보장 삽입, 삭제될때마다균형파괴여부검사하는시간이필요 트리를재구성 (Rebuilding) 하는시간이필요 9
10 자체조정트리 균형트리 최악의경우에도무조건 lgn 시간에탐색 루트로부터리프까지가는경로를최소화 자체조정트리 (Self-Restructuring Tree) 모든노드가동일한빈도 (Frequency) 로탐색되는것이아님 무조건균형을유지할것이아니라자주탐색되는노드를루트근처에갖다놓는것이더욱유리 10
11 조정방법 I 자체조정트리 어떤노드가탐색될때마다그노드를바로위부모노드로올리는방법 한번의회전만으로충분함. 예 : 키 3 인노드탐색결과 11
12 조정방법 II 자체조정트리 어떤노드가탐색되면그노드를아예전체트리의루트로올리는방법 한번탐색된노드는이후에탐색될가능성이높다고간주 연속적인회전이필요 예 : 노드 3 의탐색결과. 단, 회전시마다자식노드의오른쪽서브트리는부모노드의왼쪽서브트리로연결됨. 12
13 조정방법 II 자체조정트리 트리의균형면에서불리노드 1의탐색결과. 트리의높이는줄지않고, 그대로유지됨. 13
14 스플레이 (Splay, 벌림 ) 조정방법 II 를개선 스플레이 탐색된노드를루트로올리되, 한번에두레벨씩위로올림. 키 3 인노드를탐색. 루트에서키 3 까지는 Left-Left. Left-Left 또는 Right-Right 를지그지그 (Zig-Zig) 경우라부름 지그지그구성에서는두레벨을올리기위해서올려질노드의부모노드를먼저회전시키고, 노드 3 은나중에회전시킴으로조정방법 II 와는다른결과를보임. 14
15 스플레이 스플레이 올리고자하는노드가그보다두레벨위의노드로부터 Left- Right 또는 Right-Left 경로를따라내려올때를지그재그 (Zig- Zag) 경우라부름 지그재그에대한처리는 AVL 의 LR 또는 RL 회전과완전히동일 두레벨씩위로올렸을때, 최종적으로루트노드와레벨차이가하나만날수도있다. 이경우에는 AVL 과마찬가지로한번만회전을가하면된다. 15
16 스플레이에의한균형 스플레이 LChild, RChild 링크가벌어져서 (Splay) 활용됨으로인해균형에유리 스플레이기법 트리의균형보다는노드자체의탐색빈도를기준으로함. 어떤노드가상대적으로다른노드보다자주사용된다면유리한구조 모두동일한빈도로사용된다면여전히트리의균형이중요 16
17 AVL 트리, 2-3 트리 2-3 트리 AVL은균형트리를지향 2-3 트리는완전균형트리를지향 AVL 트리에비해상대적으로단순한논리. 2-3 트리의노드 2- 노드 (Two Node): 자식노드가 2 개이고키가 1 개인노드 3- 노드 (Three Node): 자식노드가 3 개이고키가 2 개인노드 왼쪽자식 (Left Child), 중간자식 (Middle Child), 오른쪽자식 (Right Child) 키크기는 12 < 50 < 65 < 90 <100 17
18 리프노드 2-3 트리 2- 노드또는 3- 노드모두가능 18
19 2-3 트리의삽입 이진탐색트리와마찬가지로리프노드에삽입 키 39 의삽입. 이진탐색트리라면 40 보다작으므로 40 의 LChild 노드를만들어삽입. 2-3 트리에서리프는 3- 노드일수있으므로, 키 39 인레코드와키 40 인레코드가합쳐져서하나의노드 키 38 의삽입. 이번에는하나의노드에세개의키가들어감. 3- 노드의키는두개까지만허용. 중간키 39 를지닌레코드가부모노드로올라감. 작은키 38 과큰키 40 이좌우로분리 (Split). 이후, 키 37 을삽입한모습 19
20 2-3 트리의삽입 키 36 의삽입. 리프노드에키 36, 37, 38 이존재. 중간키 37 이부모노드로올라가고나머지는분리 부모노드의키가 30, 37, 39 로바뀜. 중간키인 37 을그위부모노드로올리고자신은키 30 인노드와 39 인노드로분리 키 39 인노드는키 37, 50 인부모노드의중간자식으로. 키 36 은키 30 의오른쪽자식으로, 키 38 은키 39 의왼쪽자식으로들어간다. 20
21 2-3 트리의삽입 키 35, 34, 33까지삽입완료. 키 32의삽입. 중간키 33이부모노드로. 부모노드의중간키 33이그위로. 루트노드의키가 3 개. 새로운루트를만들어자신의중간키 37을올림. 나머지키를분리하여키 33과키 50인노드로 21
22 높이 2-3 트리의삽입 반복된삽입에도 2-3 트리의높이는좀처럼증가하지않음. 3- 노드를사용해서최대한레코드를수용. 이진탐색트리의높이는삽입할때마다리프노드아래로 1만큼자람.2-3 트리의높이는삽입노드로부터루트노드까지경로가 3-노드로꽉찬경우에한해서루트위쪽으로 1만큼자람. 22
23 2-3 트리의삭제 왼쪽또는오른쪽자매노드를살핌 하나라도 3- 노드가있으면빌려오되반드시부모노드를거쳐서빌려옴. 키 1, 4 로구성된왼쪽자매노드의키 4 인레코드가부모노드로올라가는대신부모노드의키 5 인레코드가삭제된키 10 의자리로들어감. 23
24 2-3 트리의삭제 키 5 의삭제. 왼쪽오른쪽 3- 노드가없어노드자체가삭제된다. 따라서자식노드가두개로줄어들어부모노드도 2- 노드로바뀌어야함. 부모노드의키중하나가삭제된노드의자매노드로이동한다. 여기서는부모노드의왼쪽키가삭제된노드의왼쪽자매노드로이동. 물론부모노드의오른쪽키가오른쪽자매노드로이동할수도있음. 키 20 인노드를삭제한최종결과. 24
25 2-3 트리의삭제 키 40 의삭제. 키 80 노드로부터빌릴키가없으므로키 40 인노드는삭제. 부모노드인키 45 노드는더이상 2- 노드상태를유지할수없어삭제된노드의자매노드인키 80 노드로합쳐짐. 키 45 노드가빈자리로남게됨. 왼편의자매노드인키 4 노드를보지만빌릴수없음. 키 45 노드는삭제. 키 35 인루트노드가 2- 노드상태를유지할수없어왼쪽자매노드와합쳐짐. 루트노드자체가삭제되고트리높이가감소. 그러나균형상태는유지. 25
26 2-3 트리 스택 삽입, 삭제를위해서는어떤노드의부모노드를접근해야함. 삽입시에중간키를올리기위해서, 또삭제시에부모노드의키를아래로내리기위해서 이진트리는부모노드로부터자식노드로가는포인터만유지 루트로부터내려가면서만나는모든노드를가리키는포인터값을계속적으로스택에푸쉬해놓으면팝에의해직전의부모노드를접근할수있음. 26
27 2-3 트리 탐색효율 모든노드가 3- 노드일때가장높이가낮음. 레벨 0 의루트노드가 3 노드라면그내부에는 2 개의레코드가들어감. 레벨 1 에 3 개의 3 노드가있다면그내부에는각각 2 개의레코드가들어감. 레벨 h 까지의레코드수 N = 2( h ) 3 h 트리높이 h 는최대레벨수와일치하므로결과적으로 h log 3 N 최악의경우는모든노드가 2- 노드로서트리의높이 h log 2 N 2-3 트리에는 2- 노드와 3- 노드가섞여있으므로효율은 O(log 2 N) 과 O(log 3 N) 사이에존재. 이진탐색트리는최악의경우 O(N) 으로전락 2-3 트리는항상완전균형트리를유지하므로최악의경우에도효율을보장 3- 노드는비교해야할키가 2 개이므로비교의횟수가증가 3- 노드는자식을가리키는포인터가 3 개이므로자식노드가없다면 2- 노드에비해널포인터가차지하는공간적부담 널포인터는리프노드에다수가분포 27
28 2-3-4 트리 O(log 2 N) 과 O(log 4 N) 사이의탐색효율 추가로 4- 노드를정의 자식노드로가는링크 (Link) 가 4 개이고키가 3 개인노드 왼쪽자식 (Left Child), 오른쪽자식 (Right Child), 왼쪽중간자식 (Left Middle Child), 오른쪽중간자식 (Right Middle Child) 으로구분 키크기는 10 < 30 < 65 < 75 < 80 < 95 <
29 2-3-4 트리 중요성높이를 log 4 N 으로조금더낮추기위해서? 리프노드근처의널포인터공간도 2-3 트리에비해서더많아짐. 필요시최대 3 개의키를비교해야하는시간적부담. 그렇다면왜? 단일패스삽입 2-3 트리는리프노드가꽉차면중간자식을부모노드로올리고, 만약부모노드가꽉차면다시부모노드의중간자식이그위로올려짐 트리는이러한사태를배제하기위해, 루트로부터삽입위치를찾아서내려가는도중에 4- 노드를만나면무조건제거하면서내려감. 스택이불필요하나의삽입작업이트리모습을바꾸면서내려가는동안, 동시에이어서두번째삽입작업이루트로부터내려올수있음. ( 파이프라이닝 ) 레드블랙트리와의연관성레드블랙트리로구현 29
30 삽입시 4- 노드의제거 1) 루트가 4- 노드인경우. 중간키인 Y 가올라가서트리높이증가. 2) 내려가면서만난 4- 노드가 2- 노드의자식노드일경우. 중간노드를올리되, 나머지노드는분리되어부모노드의왼쪽자식과중간자식으로붙게됨. 높이는그대로유지. 3) 내려가면서만난 4- 노드가 3- 노드의자식노드일경우. 부모노드가 4- 노드로바뀌면서왼쪽중간자식, 오른쪽중간자식으로분리시켜붙임. 트리높이는그대로유지. 30
31 레드블랙트리 레드블랙트리 (Red-Black Tree) 트리를이진트리로표현한것레드블랙트리의링크 (Link) 는색깔을지님포인터변수에색깔이라는속성을추가노드자료구조키를포함한데이터필드, LChild 포인터, RChild 포인터 LColor, Rcolor 색깔변수하나만사용하려면부모노드로부터자신을향한포인터의변수를표시 31
32 2-3-4 의 RB 표현 모든 트리는레드블랙트리로표현가능 2- 노드는그대로. 3- 노드는왼쪽또는오른쪽키를루트로하는이진트리로. 따라서트리모양이유일하지는않음. 빨강링크는원래 3- 노드, 4- 노드에서같은노드에속했었다는사실을나타냄. 4- 노드의레드블랙표현은유일함. 32
33 레드블랙트리의속성 1) 트리를내려오면서연속적인빨강링크 2 개는허용하지않음 2) 루트로부터리프노드까지검정링크의수는모두동일하다. 3) 2 개의자식노드가모두빨강링크일때만 4- 노드에해당한다. 1) 번속성의증명 만약첫트리처럼연속된빨강이존재한다고가정하면,X-Y 가빨강이므로그것은둘째트리에서나왔을것이고, 이는다시셋째트리에서유래되었을것. 한데셋째트리의 4- 노드는항상그아래트리처럼유일한모습의레드블랙표현을지닌다. 따라서연속적인빨강이 2 개나올수없음 33
34 사용이유 레드블랙트리 트리의복잡한노드구조그리고복잡한삽입삭제코드 레드블랙트리는 이진탐색트리의함수를거의그대로사용 트리의장점인단일패스삽입삭제가그대로레드블랙트리에도적용. 언제회전에의해균형을잡아야하는지가쉽게판별됨. 34
35 레드블랙의 4- 노드제거 루트노드가 4- 노드인경우 (a) 의 트리를레드블랙으로표현한것이 (a') 트리에서 4- 노드를제거하기위해서는 (b) 와같이중간키로루트로하는트리로변형 (a') 의레드블랙트리는이미 (b) 의갖춰져있음 링크의색깔만빨강에서검정으로뒤집음 (Color Flip: 색상반전 ) 35
36 레드블랙의 4- 노드제거 부모노드가 2- 노드인경우에 4- 노드인자식노드를제거 트리 (a) 에서 4- 노드를제거하면 (b) 가됨. (a) 를나타내는레드블랙트리는 (a') (a') 에서 4- 노드를제거하는과정은키 X 를중심으로부모와자식의링크색상을반전. X-Z 간의링크를검정에서빨강으로, 그리고 X-W, X-Y 간의링크를빨강에서검정으로바꾸면 (b') 이됨. 만약 (b') 을루트를중심으로오른쪽으로회전 (LL Rotation) 시켜도동일한 트리를나타냄. 36
37 레드블랙의 4- 노드제거 부모노드가 3- 노드인경우에 4- 노드인자식노드를제거 4- 노드인 W 를중심으로부모와자식링크에대해색상을반전 Z-Y-W 로이어지는빨강링크가연속으로 2 개 연속적인 2 개의빨강링크를허용하지않으므로이를피하기위해회전 (RR Rotation) 을가함. 37
38 레드블랙트리구성예 왼쪽칼럼이레드블랙트리, 오른쪽칼럼은상응하는 트리 키 20 이들어올때루트는아직 4 노드상태가아니므로빨강링크로삽입 키 30 이삽입되면 2 개의빨강링크가연속되므로회전. 결과키 20 을루트로하는트리가좌우에빨강링크이므로 4 노드임이표시됨. 38
39 레드블랙트리구성예 키 40 이루트로들어오는순간루트가 4- 노드이므로색상반전에의해이를제거한뒤에삽입 키 50 이삽입될때두개의연속된빨강링크이므로회전에의해서변형 키 60 이삽입되려내려올때, 4- 노드인 40 의부모와자식의링크색상이반전 39
40 레드블랙트리의효율 위예 이진탐색트리에 10, 20,..., 60 의순으로삽입하면결과는모든노드가일렬로늘어서서최악의효율. 탐색효율 삽입삭제를위한코드의간결성은이진탐색트리와비슷하면서도 레드블랙트리의높이는 O(log 2 N) 에근접 레드블랙트리는회전에의해서어느정도균형을이룸. AVL 은회전시기를판단하기위해복잡한코드실행. 회전방법역시복잡한코드실행. 그에따를실행시간증가 레드블랙트리는빨강링크의위치만으로회전시기를쉽게판단, 회전방법도간단. 40
41 B- 트리 B 트리 (B Trees) 2-3 트리, 트리개념의확장 M: M 웨이트리 (M-way Tree) 최대링크수가 M 개. M 이커질수록하나의노드내부에서비교의횟수가증가하고또, 빈포인터공간도많아지지만트리의높이는그만큼낮아진다. 외부탐색 (External Search) 방법 외부저장장치인파일로부터찾는레코드를읽어오기위함. 데이터베이스탐색방법의일종 파일로부터메인메모리로읽혀지는기본단위를페이지 (Page) 라함. 외부탐색에서알고리즘의효율을좌우하는것은입출력시간 입출력시간은페이지를몇번입출력했는가에좌우 41
42 B- 트리 한페이지에노드하나를저장한다고가정. 페이지접근 (Access) 횟수를줄이기위해루트노드는항상메인메모리에올려놓음. 포인터는디스크번호와페이지번호에의해표시. 루트의 LChild 인노드 B 는디스크 1 번의페이지 0 에저장. 42
43 B- 트리 검색효율 2- 노드, 3- 노드,..., M- 노드를모두감안하면평균적인링크수는 M/2 O(log (M/2) N) B- 트리의변형레코드자체가차지하는공간으로인해하나의노드즉, 하나의페이지안에들어갈수있는레코드수가제한됨. 자식노드를가리키는포인터수가제한됨 트리라면 4- 노드하나에레코드 3 개와자식노드를가리키는포인터 4 개를둘수있음. 어떤노드가자식노드 100 개를가리키게하려면 트리를구성해야하는데이때의 100- 노드에는레코드 99 개가들어가야함. 레코드크기가커질수록한페이지에이렇게많이넣을수는없음. 하나의노드가가질수있는 M 값이작아지면트리의높이가커지고, 트리를따라내려오면서만나는모든노드 ( 페이지 ) 가많아지므로입출력 (Page I/O) 횟수가증가함. 레코드와링크정보를하나의노드안에몰아넣은이러한방식은외부탐색의효율을좌우하는입출력면에서는상당히불리. 43
44 B- 트리 B- 트리의변형 일반적인 B 트리는내부노드에는키값만넣고, 실제레코드는외부노드즉, 리프노드에몰아넣음. 내부노드의키는리프노드의레코드를찾기위한일종의인덱스기능수행하게함으로써 M 의값을대폭증가하여트리높이를대폭감소시킴. 44
45 B- 트리 고정된 M 을사용 모든 M 값을크게할경우필요한페이지수가급증 1, M, M 2, M 3... 으로기하급수적으로늘어남. 레코드가몇개없는페이지, 사용되지않는페이지로인한공간낭비 레벨별 M 값의변화 루트에 M을작게잡고리프근처에 M만크게잡을경우트리를다내려온다음에리프근처에서노드하나에하는수많은키에대해서일일이순차적인탐색 존재 트리의위에서아래로내려오면서검색범위를적절히축소. 루트근처의 M 값을 2048, 리프근처의 M 값은 1024 로했을때, 10 억개의레코드에대해서 3 번정도의페이지입출력으로끝낼수있음. 45
PowerPoint 프레젠테이션
균형탐색트리 13 장. 균형탐색트리 트리의작업효율을높이기위한다양한균형트리알고리즘을비교 학습목표 트리의균형이효율에미치는영향을이해한다. AVL 트리에서균형을회복하기위한방법을이해한다. 스플레이기법을이해한다. 2-3 트리에서균형을회복하기위한방법을이해한다. 2-3-4 트리와레드블랙트리의관계를이해한다. 1 Section 01 AVL 트리 - 균형 균형 2 AVL G.
More informationMicrosoft PowerPoint - 6장 탐색.pptx
01. 순차탐색 02. 이진탐색 03. 이진탐색트리 04. 레드블랙트리 탐색 (search) 기본적으로여러개의자료중에서원하는자료를찾는작업 컴퓨터가가장많이하는작업중의하나 탐색을효율적으로수행하는것은매우중요. 탐색키 (search key) 항목과항목을구별해주는키 (key) 탐색을위하여사용되는자료구조 배열, 연결리스트, 트리, 그래프등 탐색키데이터 순차탐색 (sequential
More information제 11 장 다원 탐색 트리
제 11 장 다원탐색트리 Copyright 07 DBLB, Seoul National University m- 원탐색트리의정의와성질 (1) 탐색성능을향상시키려면메모리접근횟수를줄여야함 탐색트리의높이를줄여야함 차수 (degree) 가 2보다큰탐색트리가필요 m- 원탐색트리 (m-way search tree) 공백이거나다음성질을만족 (1) 루트는최대 m 개의서브트리를가진다.
More information1장. 리스트
01. 순차탐색 02. 이진탐색 03. 이진탐색트리 04. 레드블랙트리 탐색 (search) 기본적으로여러개의자료중에서원하는자료를찾는작업 컴퓨터가가장많이하는작업중의하나 탐색을효율적으로수행하는것은매우중요. 탐색키 (search key) 항목과항목을구별해주는키 (key) 탐색을위하여사용되는자료구조 배열, 연결리스트, 트리, 그래프등 탐색키데이터 순차탐색 (sequential
More informationchap 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슬라이드 1
CHAP 7: 트리 C 로쉽게풀어쓴자료구조 생능출판사 2005 트리 (TREE) 트리 : 계층적인구조를나타내는자료구조 트리는부모 - 자식관계의노드들로이루어진다. 대표이사 응용분야 : 계층적인조직표현 총무부 영업부 생산부 파일시스템 인공지능에서의결정트리 전산팀구매팀경리팀생산 1 팀생산 2 팀 트리의용어 노드 (node): 트리의구성요소 루트 (root): 부모가없는노드
More informationchap 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정의 이진탐색트리 이진탐색트리 (BST: binary search tree) 는각각의노드가 BST 특성을만족하는키 - 주소쌍을가지고있는이진트리 BST 특성 트리에있는각각의키에대해, 왼쪽서브트리에있는모든키는이것보다작고, 오른쪽서브트리에있는모든키는이것보다큼 < > 2
13. 탐색트리 AVL 트리, B- 트리, 2-3-4 트리 정의 이진탐색트리 이진탐색트리 (BST: binary search tree) 는각각의노드가 BST 특성을만족하는키 - 주소쌍을가지고있는이진트리 BST 특성 트리에있는각각의키에대해, 왼쪽서브트리에있는모든키는이것보다작고, 오른쪽서브트리에있는모든키는이것보다큼 < > 2 이진탐색트리의예 3 BST 의최선과최악의경우
More information입학사정관제도
자료구조 강의노트 교재 : C 로배우는쉬운자료구조 ( 개정판 ) 출판사 : 한빛미디어 (2011 년 3 월발행 ) 저자 : 이지영 소프트웨어학과원성현교수 1 8 장트리 소프트웨어학과원성현교수 93 1. 트리 트리개요 트리 (tree) 란? 리스트, 스택, 큐등은선형자료구조 (linear data structure) 인것에반해서트리는계층 (hierarchy)
More information7장
CHAP 7: 트리 C 로쉽게풀어쓴자료구조 트리 (TREE) 트리 : 계층적인구조를나타내는자료구조 트리는부모 - 자식관계의노드들로이루어진다. 응용분야 : 계층적인조직표현파일시스템인공지능에서의결정트리 대표이사 총무부 영업부 생산부 전산팀구매팀경리팀생산 1 팀생산 2 팀 * 예제 : 책그림 7-2, 7-3, 7-4 트리의용어 노드 (node): 트리의구성요소 루트
More informationMicrosoft 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 informationPowerPoint 프레젠테이션
10 장. 트리 트리 리스트나스택, 큐가데이터집합을한줄로늘어세운선형자료구조라면트리는두갈래로나누어세운비선형구조이다. 비선형구조를고안한동기는바로이구조가지닌효율성때문이다. 즉, 삽입, 삭제, 검색이라는주작업에대해서선형구조보다나은시간적효율을보일수있다. 학습목표 트리와관련된용어를정확히이해한다. 이진트리의세가지순회방법의차이점을이해한다. 포인터로구현한이진탐색트리의탐색,
More informationPowerPoint 프레젠테이션
트리 10 장. 트리 리스트나스택, 큐가데이터집합을한줄로늘어세운선형자료구조라면트리는두갈래로나누어세운비선형구조이다. 비선형구조를고안한동기는바로이구조가지닌효율성때문이다. 즉, 삽입, 삭제, 검색이라는주작업에대해서선형구조보다나은시간적효율을보일수있다. 학습목표 트리와관련된용어를정확히이해한다. 이진트리의세가지순회방법의차이점을이해한다. 포인터로구현한이진탐색트리의탐색,
More information08장.트리
---------------- T STRUTURES USING ---------------- HPTER 트리 /29 트리 (TREE) 트리 : 계층적인구조를나타내는자료구조 트리는부모-자식관계의노드들로이루어짐 응용분야 : 대표이사 총무부 영업부 생산부 전산팀구매팀경리팀 생산 팀 생산 2 팀 (a) 회사의조직도 내문서 동영상음악사진 영화예능드라마 여행 (b) 컴퓨터의폴더구조
More informationMicrosoft PowerPoint - lec07_tree [호환 모드]
Tree 2008학년도 2학기 kkman@sangji.ac.krac kr -1- 트리 (Tree) 1. 개요 ~ 계층적인구조를나타내는비선형 (Non-linear) 자료구조 ~ 트리는부모 - 자식관계의노드로구성 ~ 응용분야 계층적인조직표현 파일시스템 인공지능에서의결정트리 -2- 트리자료구조를사용하는이유? ~ 다른자료구조와달리비선형구조. ~ 정렬된배열 탐색은빠르지만
More informationMicrosoft PowerPoint - 제8장-트리.pptx
제 8 강의. 트리 (Tree) 자료구조 1. 트리의개념 2. 이진트리 3. 이진트리의저장 1 트리자료구조필요성연결리스트의삽입삭제시데이터를이동하지않는장점을살리자. 연결리스트의검색시노드의처음부터찾아가야하는단점을보완하자. 데이터를중간부터찾아가는이진검색의장점을이용하자. 연결리스트의포인터를리스트의중간에두는방법? ptr 10 23 34 42 56 검색을중간부터시작하여좌우중하나로분기,
More information1장. 리스트
01. 순차탐색 02. 이진탐색 03. 이진탐색트리 04. 레드블랙트리 05. AVL 트리 06. B- 트리 탐색 (search) 기본적으로여러개의자료중에서원하는자료를찾는작업 컴퓨터가가장많이하는작업중의하나 탐색을효율적으로수행하는것은매우중요. 탐색키 (search key) 항목과항목을구별해주는키 (key) 탐색을위하여사용되는자료구조 배열, 연결리스트, 트리,
More information슬라이드 1
6-1 리스트 (list) 란순서를가진항목들을표현하는자료구조 리스트를구현하는두가지방법 배열 (array) 을이용하는방법 구현간단 삽입, 삭제시오버헤드 항목의개수제한 연결리스트 (linked list) 를이용하는방법 구현복잡 삽입, 삭제가효율적 크기가제한되지않음 6-2 객체 : n 개의 element 형으로구성된순서있는모임 연산 : add_last(list,
More information05_tree
Tree Data Structures and Algorithms 목차 트리의개요 이진트리의구현 이진트리의순회 (Traversal) 수식트리 (Expression Tree) 의구현 Data Structures and Algorithms 2 트리의개요 Data Structures and Algorithms 3 트리의접근과이해 트리는계층적관계 (Hierarchical
More informationMicrosoft PowerPoint - chap10_tree
Chap. 10 : Tree 2007 학년도 2 학기 1. 개요 재귀 (recursion) 의정의, 순환 ~ 정의하고있는개념자체에대한정의내부에자기자신이포함되어있는경우를의미 ~ 알고리즘이나함수가수행도중에자기자신을다시호출하여문제를해결하는기법 ~ 정의자체가순환적으로되어있는경우에적합한방법 ~ 예제 ) 팩토리얼값구하기 피보나치수열 이항계수 하노이의탑 이진탐색 -2-
More informationCh.1 Introduction
Tree & Heap SANGJI University Kwangman Ko (kkman@sangji.ac.kr) 트리개요 트리 (Tree) ~ 계층적인구조를나타내는비선형 (Non-linear) 자료구조 ~ 트리는부모-자식관계의노드로구성 ~ 응용분야 계층적인조직표현 파일시스템 인공지능에서의결정트리 kkman@sangji.ac.kr 2 트리자료구조를사용하는이유?
More information제 10 장 최적 이원 탐색 트리
제 1 장 최적이원탐색트리 Copyright 27 DBLAB, Seoul National University 최적이원탐색트리 (1/11) 개요 정적원소들의집합에대한이원탐색트리구조 삽입이나삭제는하지않고탐색만수행 정렬된리스트 함수 Get( 프로그램 5.19 참고 ) 이용 비용측정방법 함수 Get 이용 for 루프를 l 번반복 1 5 15 리스트 (5,1,15)
More information제 1 장 기본 개념
이진트리순회와트리반복자 트리순회 (tree traversal) 트리에있는모든노드를한번씩만방문 순회방법 : LVR, LRV, VLR, VRL, RVL, RLV L : 왼쪽이동, V : 노드방문, R : 오른쪽이동 왼쪽을오른쪽보다먼저방문 (LR) LVR : 중위 (inorder) 순회 VLR : 전위 (preorder) 순회 LRV : 후위 (postorder)
More information슬라이드 1
CHAP 7: 트리 트리 (TREE) 트리 : 계층적인구조를나타내는자료구조 리스트, 스택, 큐등은선형구조 트리는부모 - 자식관계의노드들로이루어진다. 응용분야 : 계층적인조직표현 컴퓨터디스크의디렉토리구조 인공지능에서의결정트리 (decision tree) 회사의조직 파일디렉토리구조 결정트리 ( 예 ) 골프에대한결정트리 트리의용어 노드 (node): 트리의구성요소
More information슬라이드 1
CHAP 7: 트리 yicho@gachon.ac.kr 1 트리 (TREE) 트리 : 계층적인구조를나타내는자료구조 리스트, 스택, 큐등은선형구조 트리는부모 - 자식관계의노드들로이루어진다. 응용분야 : 계층적인조직표현 컴퓨터디스크의디렉토리구조 인공지능에서의결정트리 (decision tree) 2 2 회사의조직 대표이사 총무부 영업부 생산부 전산팀구매팀경리팀생산
More informationChapter 08. 트리(Tree)
윤성우의열혈자료구조 : C 언어를이용한자료구조학습서 Chapter 08. 트리 (Tree) Introduction To Data Structures Using C Chapter 08. 트리 (Tree) Chapter 08-1: 트리의개요 트리의접근과이해 트리는계층적관계 (Hierarchical Relationship) 를표현하는자료구조이다. 트리의예 트리의예
More information슬라이드 1
Data Structure Chapter 7. 트리 Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr 트리의개념 트리 (Tree) 트리 : 계층적인구조를나타내는자료구조 리스트, 스택, 큐등은선형구조 정의 (1) 하나의루트 (root) 노드 (2) 다수의서브트리 (subtree) 트리는부모-자식관계의노드들로이루어짐
More informationData structure: Assignment 3 Seung-Hoon Na December 14, 2018 레드 블랙 트리 (Red-Black Tree) 1 본 절에서는 레드 블랙 트리를 2-3트리 또는 2-3-4트리 대한 동등한 자료구조로 보고, 두 가지 유형의 레
Data structure: Assignment 3 Seung-Hoon Na December 14, 2018 레드 블랙 트리 (Red-Black Tree) 1 본 절에서는 레드 블랙 트리를 2-3트리 또는 2-3-4트리 대한 동등한 자료구조로 보고, 두 가지 유형의 레드 블랙 트리를 구현하고자 한다. 1.1 2-3트리와 동등한 레드 블랙 트리 2-3트리와 동등한
More informationv 이원탐색트리 (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쉽게배우는알고리즘 5 장. 검색트리 IT COOKBOOK 5 장. 검색트리 나는보다응용력있는유형의수학이라는이유때문에컴퓨터과학을하고싶었다. - 로버트타잔 한빛미디어 1
쉽게배우는알고리즘 5 장. 검색트리 htt://academy.hanb.co.k 5 장. 검색트리 나는보다응용력있는유형의수학이라는이유때문에컴퓨터과학을하고싶었다. - 로버트타잔 - 2 - 한빛미디어 1 학습목표 검색에서레코드와키의역할을구분한다. 이진검색트리에서의검색 삽입 삭제작업의원리를이해한다. 이진검색트리의균형이작업의효율성에미치는영향을이해하고, 레드블랙트리의삽입
More informationC 언어 강의노트
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 informationMicrosoft 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 informationMicrosoft PowerPoint - 자료구조2008Chap07
제 7 장트리 7.1 트리의정의 1 Tree 비선형구조, 다차원적구조 원소마다다음에여러개의원소가존재 하나이상의노드로구성된유한집합 정의1 : 루트 (root) 라는특별한노드를가지는사이클이존재치않는그래프 (acyclic graph) 정의 2 : 하나이상의노드로구성된유한집합 루트 (root) 라는특별한노드존재 나머지노드들은다시각각의트리이면서교차하지않는분리집합 (disjoint
More informationMicrosoft 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 informationo 경로 (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쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table
쉽게배우는알고리즘 6장. 해시테이블 테이블 Hash Table http://academy.hanb.co.kr 6장. 해시테이블 테이블 Hash Table 사실을많이아는것보다는이론적틀이중요하고, 기억력보다는생각하는법이더중요하다. - 제임스왓슨 - 2 - 학습목표 해시테이블의발생동기를이해한다. 해시테이블의원리를이해한다. 해시함수설계원리를이해한다. 충돌해결방법들과이들의장단점을이해한다.
More informationA 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 information7장인덱스된 순차화일 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슬라이드 1
CHAP 8: 우선순위큐 yicho@gachon.ac.kr 1 우선순위큐 우선순위큐 (priority queue): 우선순위를가진항목들을저장하는큐 FIFO 순서가아니라우선순위가높은데이터가먼저나가게된다. 가장일반적인큐 : 스택이나 FIFO 큐를우선순위큐로구현할수있다. 자료구조스택큐우선순위큐 삭제되는요소가장최근에들어온데이터가장먼저들어온데이터가장우선순위가높은데이터
More informationChapter 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 informationDiscrete Mathematics
25 년봄학기 문양세컴퓨터과학과강원대학교자연과학대학 강의 강의내용 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 informatione-비즈니스 전략 수립
트리 IT CookBook, C 로배우는쉬운자료구조 ( 개정판 ) Contents 학습목표 트리의개념을이해한다. 이진트리의자료구조를알아본다. 이진트리에서의순회를이해한다. 이진탐색트리의개념을이해하고연산방법을이해한다. 히프의자료구조를이해한다. 내용 트리 이진트리 이진트리의구현 이진트리의순회 이진탐색트리 히프 2/104 1. 트리 트리 (tree) 원소들간에 1:
More information슬라이드 1
Data Structure Chapter 8. 우선순위큐 Dong Kyue Kim Hanyang University dqkim@hanyang.ac.kr 우선순위큐추상데이터타입 우선순위큐 우선순위큐 (priority queue) 정의 : 우선순위를가진항목들을저장하는큐 FIFO 순서가아니라우선순위가높은데이터가먼저나가게됨 스택이나 FIFO 큐를우선순위큐로구현할수있음
More information11장 포인터
Dynamic Memory and Linked List 1 동적할당메모리의개념 프로그램이메모리를할당받는방법 정적 (static) 동적 (dynamic) 정적메모리할당 프로그램이시작되기전에미리정해진크기의메모리를할당받는것 메모리의크기는프로그램이시작하기전에결정 int i, j; int buffer[80]; char name[] = data structure"; 처음에결정된크기보다더큰입력이들어온다면처리하지못함
More information5 장 트 리
5 장 트리 Copyright 2007 DBLAB, Seoul National University 트리구조 Copyright 2007 DBLAB, Seoul National University 2 트리 트리 : 하나이상의노드 (node) 로이루어진유한집합 1 하나의루트 (root) 노드 2 나머지노드들은 n( 0) 개의분리집합 T 1, T 2,, T n 으로분할
More information제 9 장 우선순위 큐
제 9 장 우선순위큐 Copyright 007 DBLAB, Seoul National University 한쪽끝과양쪽끝우선순위큐 우선순위큐 (priority queue) - 각원소가연관된우선순위를갖고있는원소들의모임 최소우선순위큐에서의연산 - SP: 최소우선순위를가진원소의반환 - SP: 임의의우선순위를가진원소의삽입 - SP3: 최소우선순위를가진원소의삭제 최대우선순위큐에서의연산
More informationPowerPoint 프레젠테이션
3. 트리 3.1 트리의개요 3.2 이진트리 3.3 트리의운행 3.1 트리의개요 트리 : 그래프의일종 데이터 : 노드 순환적정의 T = {R, T 1,T 2, T n } R : 루트 T i : 서브-트리 ( 트리 ) 3.1 트리의개요 1. 노드 2. 근노드 3. 서브트리 4. 차수 5. 단노드 6. 간노드 (nonterminal node) 7. 부-노드,
More informationMicrosoft 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<4D F736F F F696E74202D20C1A637C0E52DB0EDB1DEBFACB0E1B8AEBDBAC6AE2E >
제 7 강의. 고급연결리스트 1. 원형연결리스트 2. 이중연결리스트 3. 연결리스트알고리즘 1 1. 원형연결리스트 (Circularly Linked Lists) 원형연결리스트란? 연결리스트의맨끝노드를첫번째노드와연결시켜서원형으로만든리스트 단순연결리스트 (Singly Linked List) 불편한점 - 연결리스트의노드포인터를알고있을때첫번째노드는바로찾아갈수있지만마지막노드는리스트전체를따라가면서끝을찾아가야한다
More information슬라이드 1
CHAP 8: 우선순위큐 우선순위큐 우선순위큐 (priority queue): 우선순위를가진항목들을저장하는큐 FIFO 순서가아니라우선순위가높은데이터가먼저나가게된다. 우선순위큐 가장일반적인큐 : 스택이나 FIFO 큐를우선순위큐로구현할수있다. 자료구조스택큐우선순위큐 삭제되는요소가장최근에들어온데이터가장먼저들어온데이터가장우선순위가높은데이터 응용분야 : 시뮬레이션시스템
More information슬라이드 1
CHAP 8: 우선순위큐 우선순위큐 우선순위큐 (priority queue): 우선순위를가진항목들을저장하는큐 FIFO 순서가아니라우선순위가높은데이터가먼저나가게된다. 가장일반적인큐 : 스택이나 FIFO 큐를우선순위큐로구현할수있다. 자료구조스택큐우선순위큐 삭제되는요소가장최근에들어온데이터가장먼저들어온데이터가장우선순위가높은데이터 응용분야 : 시뮬레이션시스템 ( 여기서의우선순위는대개사건의시각이다.)
More informationLab 3. 실습문제 (Single linked list)_해답.hwp
Lab 3. Singly-linked list 의구현 실험실습일시 : 2009. 3. 30. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 5. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Singly-linked list의각함수를구현한다.
More information슬라이드 1
한국산업기술대학교 제 5 강스케일링및회전 이대현교수 학습안내 학습목표 3D 오브젝트의확대, 축소및회전방법을이해한다. 학습내용 3D 오브젝트의확대및축소 (Scaling) 3D 오브젝트의회전 (Rotation) 변홖공갂 (Transform Space) SceneNode 의크기변홖 (Scale) void setscale ( Real x, Real y, Real z)
More informationMicrosoft 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 informationPowerPoint 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 informationChap 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 informationLab 4. 실습문제 (Circular singly linked list)_해답.hwp
Lab 4. Circular singly-linked list 의구현 실험실습일시 : 2009. 4. 6. 담당교수 : 정진우 담당조교 : 곽문상 보고서제출기한 : 2009. 4. 12. 학과 : 학번 : 성명 : 실습과제목적 : 이론시간에배운 Circular Singly-linked list를실제로구현할수있다. 실습과제내용 : 주어진소스를이용해 Circular
More information이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2
제 17 장동적메모리와연결리스트 유준범 (JUNBEOM YOO) Ver. 2.0 jbyoo@konkuk.ac.kr http://dslab.konkuk.ac.kr 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다. 이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다.
More information06장.리스트
---------------- DATA STRUCTURES USING C ---------------- CHAPTER 리스트 1/28 리스트란? 리스트 (list), 선형리스트 (linear list) 순서를가진항목들의모임 집합 : 항목간의순서의개념이없음 리스트의예 요일 : ( 일요일, 월요일,, 토요일 ) 한글자음의모임 : ( ㄱ, ㄴ,, ㅎ ) 카드 :
More information금오공대 컴퓨터공학전공 강의자료
C 프로그래밍프로젝트 Chap 13. 포인터와배열! 함께이해하기 2013.10.02. 오병우 컴퓨터공학과 13-1 포인터와배열의관계 Programming in C, 정재은저, 사이텍미디어. 9 장참조 ( 교재의 13-1 은읽지말것 ) 배열이름의정체 배열이름은 Compile 시의 Symbol 로서첫번째요소의주소값을나타낸다. Symbol 로서컴파일시에만유효함 실행시에는메모리에잡히지않음
More informationMicrosoft PowerPoint - 제9장-트리의응용.pptx
제 9 강의. 트리의탐색 1. 이진트리탐색알고리즘 2. 쓰레드 (Threaded) 이진트리 3. 이진트리를다루는알고리즘 1 1. 이진트리탐색알고리즘 트리의탐색 (traversal) 은트리의각노드를방문하는작업을말한다. ( 왜방문할까요?) 다음과같은방법들을생각해볼수있다. 방법 1) 레벨순 : 레벨이낮은순으로방문 A B C D E F G H 3가지다른방법이나올수있다.
More informationMicrosoft PowerPoint - ch07 - 포인터 pm0415
2015-1 프로그래밍언어 7. 포인터 (Pointer), 동적메모리할당 2015 년 4 월 4 일 교수김영탁 영남대학교공과대학정보통신공학과 (Tel : +82-53-810-2497; Fax : +82-53-810-4742 http://antl.yu.ac.kr/; E-mail : ytkim@yu.ac.kr) Outline 포인터 (pointer) 란? 간접참조연산자
More informationMicrosoft PowerPoint Merging and Sorting Files.ppt
자료처리 () 006 년봄학기문양세강원대학교컴퓨터과학과 정렬 / 합병의개요 정렬의종류 : 내부정렬, 외부정렬 내부정렬 (internal sorting) 데이타가적어서메인메모리내에모두저장시켜정렬가능할때사용함 레코드의판독 (read) 및기록 (write) 에걸리는시간이문제가되지않음 외부정렬 (external sorting) 데이타가많아서메인메모리의용량을초과하여보조기억장치
More information<4D F736F F F696E74202D FBFACB0E120C0DAB7E1B1B8C1B6205BC8A3C8AF20B8F0B5E55D>
연결자료구조 IT CookBook, C 로배우는쉬운자료구조 ( 개정판 ) Contents 학습목표 연결자료구조를이해한다. 순차자료구조와연결자료구조의차이와장단점을알아본다. 연결리스트의종류와특징을알아본다. 연결자료구조를이용한다항식의덧셈연산방법을알아본다. 내용 배열연결자료구조를이해한다. 순차자료구조와연결자료구조의차이와장단점을알아본다. 연결리스트의종류와특징을알아본다.
More information슬라이드 1
CHAP 6: 큐 yicho@gachon.ac.kr 1 큐 (QUEUE) 큐 : 먼저들어온데이터가먼저나가는자료구조 선입선출 (FIFO: First-In First-Out) ( 예 ) 매표소의대기열 Ticket Box 전단 () 후단 () 2 큐 ADT 삽입과삭제는 FIFO 순서를따른다. 삽입은큐의후단에서, 삭제는전단에서이루어진다. 객체 : n 개의 element
More information리스트연산, 검색 + 삽입 + 삭제 새로운항목을리스트의처음, 중간, 끝에추가. 기존의항목을리스트의임의의위치에서삭제. 모든항목을삭제. 기존항목을대치 (replace). 리스트가특정항목을가지고있는지를검색 (search). 리스트의특정위치의항목을반환. 리스트안의항목의개수를센
Linked List 2014 2 학기 SANGJI University 리스트 (list) 1. 리스트개념 고정된길이의자료 ( 원소 ) 들을순차적으로나열해놓은집합을가르키는자료구조의추상적인개념 순서를가진항목들의모임 집합 (set) : 항목간의순서의개념이없음 리스트의예 요일 : ( 일요일, 월요일,, 토요일 ) 한글자음의모임 : ( ㄱ, ㄴ,, ㅎ ) 핸드폰의문자메시지리스트
More information슬라이드 1
Linked List 2015 2 학기 SANGJI University 1. 리스트개념 리스트 (list) 고정된길이의자료 ( 원소 ) 들을순차적으로나열해놓은집합을가르키는자료구조의추상적인개념 순서를가진항목들의모임 집합 (set) : 항목간의순서의개념이없음 리스트의예 요일 : ( 일요일, 월요일,, 토요일 ) 한글자음의모임 : ( ㄱ, ㄴ,, ㅎ ) 핸드폰의문자메시지리스트
More informationMicrosoft PowerPoint - chap06-2pointer.ppt
2010-1 학기프로그래밍입문 (1) chapter 06-2 참고자료 포인터 박종혁 Tel: 970-6702 Email: jhpark1@snut.ac.kr 한빛미디어 출처 : 뇌를자극하는 C프로그래밍, 한빛미디어 -1- 포인터의정의와사용 변수를선언하는것은메모리에기억공간을할당하는것이며할당된이후에는변수명으로그기억공간을사용한다. 할당된기억공간을사용하는방법에는변수명외에메모리의실제주소값을사용하는것이다.
More information2 노드
2019/05/03 17:01 1/5 2 노드 2 노드 소개 노드를사용하여계층적분산모니터링을구축할수있습니다. 각노드는Zabbix 서버자체이며, 각각이놓인위치모니터링을담당합니다 Zabbix는. 분산설정은최대 1000 개의노드를지원합니다. 노드의설정을사용하는장점은다음과같습니다. 일부지역에걸친대규모네트워크에서여러수준의모니터링계층을구축합니다. 계층에서하노드는마스터노드에전송합니다.
More informationPowerPoint 프레젠테이션
03 모델변환과시점변환 01 기하변환 02 계층구조 Modeling 03 Camera 시점변환 기하변환 (Geometric Transformation) 1. 이동 (Translation) 2. 회전 (Rotation) 3. 크기조절 (Scale) 4. 전단 (Shear) 5. 복합변환 6. 반사변환 7. 구조변형변환 2 기하변환 (Geometric Transformation)
More informationPowerPoint 프레젠테이션
탐색의효율 12 장. 탐색알고리즘 삽입, 삭제에우선하여탐색의효율을높이기위한알고리즘 학습목표 이진탐색, 보간탐색, 이진탐색트리등기본탐색방법의효율을이해한다. 기수탐색트리의두가지구현방법과효율을이해한다. 선형탐사, 제곱탐사, 이중해시의방법과효율차이를이해한다. 버켓, 별도체인등닫힌어드레싱방법을이해한다. 상황에따른자료구조선택방법을이해한다. 1 레코드, 키 Section
More informationPowerPoint Presentation
5 불대수 IT CookBook, 디지털논리회로 - 2 - 학습목표 기본논리식의표현방법을알아본다. 불대수의법칙을알아본다. 논리회로를논리식으로논리식을논리회로로표현하는방법을알아본다. 곱의합 (SOP) 과합의곱 (POS), 최소항 (minterm) 과최대항 (mxterm) 에대해알아본다. 01. 기본논리식의표현 02. 불대수법칙 03. 논리회로의논리식변환 04.
More information비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2
비트연산자 1 1 비트와바이트 비트와바이트 비트 (Bit) : 2진수값하나 (0 또는 1) 를저장할수있는최소메모리공간 1비트 2비트 3비트... n비트 2^1 = 2개 2^2 = 4개 2^3 = 8개... 2^n 개 1 바이트는 8 비트 2 2 진수법! 2, 10, 16, 8! 2 : 0~1 ( )! 10 : 0~9 ( )! 16 : 0~9, 9 a, b,
More information1. 리스트개념 리스트 (list) 고정된길이의자료 ( 원소 ) 들을순차적으로나열해놓은집합을가르키는자료구조의추상적인개념 순서를가진항목들의모임 집합 (set) : 항목간의순서의개념이없음 리스트의예 요일 : ( 일요일, 월요일,, 토요일 ) 한글자음의모임 : (ᄀ,ᄂ,,ᄒ
Linked List 2010 2 학기 SANGJI University 1. 리스트개념 리스트 (list) 고정된길이의자료 ( 원소 ) 들을순차적으로나열해놓은집합을가르키는자료구조의추상적인개념 순서를가진항목들의모임 집합 (set) : 항목간의순서의개념이없음 리스트의예 요일 : ( 일요일, 월요일,, 토요일 ) 한글자음의모임 : (ᄀ,ᄂ,,ᄒ) 핸드폰의문자메시지리스트
More information리스트구현방법 배열 (array) 을이용하는방법 구현이간단 삽입, 삭제동작에따른원소이동. 항목의개수제한, 정적기억공간할당. 메모리낭비, 오버플로우 연결리스트 (linked list) 를이용하는방법 구현이복잡 삽입, 삭제가효율적 크기가제한되지않음 Lecture 03_Li
Linked List 2011 2 학기 SANGJI University 리스트 (list) 1. 리스트개념 고정된길이의자료 ( 원소 ) 들을순차적으로나열해놓은집합을가르키는자료구조의추상적인개념 순서를가진항목들의모임 집합 (set) : 항목간의순서의개념이없음 리스트의예 요일 : ( 일요일, 월요일,, 토요일 ) 한글자음의모임 : (ᄀ,ᄂ,,ᄒ) 핸드폰의문자메시지리스트
More informationMicrosoft PowerPoint - chap4_list
Chap. 4 : 리스트 (list) 2007 학년도 2 학기 리스트 1. 리스트개념 ~ 고정된길이의자료 ( 원소 ) 들을순차적으로나열해놓은집합을가르키는자료구조의추상적인개념 ~ 순서를가진항목들의모임 집합 (set) : 항목간의순서의개념이없음 리스트의예 ~ 요일 : ( 일요일, 월요일,, 토요일 ) ~ 한글자음의모임 : (ᆨ,ᆫ,,ᄒ) ~ 핸드폰의문자메시지리스트
More informationPowerPoint 프레젠테이션
5 장. 리스트 리스트 목록이나도표처럼여러데이터를관리할수있는자료형을추상화 데이터삽입, 삭제, 검색등필요작업을가함 스택과큐는리스트의특수한경우에해당 학습목표 추상자료형리스트개념과필요작업을이해한다. 배열로구현하는방법, 연결리스트로구현하는방법을숙지한다. C 로구현할때와 C++ 로구현할때의차이점을이해한다. 자료구조로서배열과연결리스트의장단점을이해한다. 1 목록 ( 도표
More information14장.탐색
---------------- DATA STRUCTURES USING C ---------------- CHAPTER 탐색 1/28 탐색 (search) 이란? 여러개의자료중에서원하는자료를찾는작업 컴퓨터가가장많이하는작업중의하나 탐색을효율적으로수행하는것은매우중요 탐색키 (search key) 항목과항목을구별해주는키 (key) 탐색을위하여사용되는자료구조 배열,
More informationChapter 4. LISTS
6. 동치관계 (Equivalence Relations) 동치관계 reflexive, symmetric, transitive 성질을만족 "equal to"(=) 관계는동치관계임. x = x x = y 이면 y = x x = y 이고 y = z 이면 x = z 동치관계를이용하여집합 S 를 동치클래스 로분할 동일한클래스내의원소 x, y 에대해서는 x y 관계성립
More informationXSS Attack - Real-World XSS Attacks, Chaining XSS and Other Attacks, Payloads for XSS Attacks
XSS s XSS, s, May 25, 2010 XSS s 1 2 s 3 XSS s MySpace 사건. Samy (JS.Spacehero) 프로필 페이지에 자바스크립트 삽입. 스크립트 동작방식 방문자를 친구로 추가. 방문자의 프로필에 자바스크립트를 복사. 1시간 만에 백만 명이 친구등록. s XSS s 위험도가 낮은 xss 취약점을 다른 취약점과 연계하여
More information<443A5C4C C4B48555C B3E25C32C7D0B1E25CBCB3B0E8C7C1B7CEC1A7C6AE425CBED0C3E0C7C1B7CEB1D7B7A55C D616E2E637070>
#include "stdafx.h" #include "Huffman.h" 1 /* 비트의부분을뽑아내는함수 */ unsigned HF::bits(unsigned x, int k, int j) return (x >> k) & ~(~0
More information본 강의에 들어가기 전
1 2.1 대칭암호원리 제 2 장. 대칭암호와메시지기밀성 2 3 기본용어 평문 (Plaintext) - original message 암호문 (Ciphertext) - coded message 암호화 (Cipher) - algorithm for transforming plaintext to ciphertext 키 (Key) - info used in cipher
More information슬라이드 1
컬렉션프레임워크 (Collection Framework) 의정의 - 다수의데이터를쉽게처리할수있는표준화된방법을제공하는클래스들 - 데이터의집합을다루고표현하기위한단일화된구조 (architecture) - JDK 1.2 이전까지는 Vector, Hashtable, Properties와같은컬렉션클래스로서로다른각자의방식으로처리 - 컬렉션프레임워크는다수의데이터를다루는데필요한다양하고풍부한클래스들을제공하므로프로그래머의부담을상당부분덜어준다.
More information2_안드로이드UI
03 Layouts 레이아웃 (Layout) u ViewGroup의파생클래스로서, 포함된 View를정렬하는기능 u 종류 LinearLayout 컨테이너에포함된뷰들을수평또는수직으로일렬배치하는레이아웃 RelativeLayout 뷰를서로간의위치관계나컨테이너와의위치관계를지정하여배치하는레이아웃 TableLayout 표형식으로차일드를배치하는레이아웃 FrameLayout
More information원형연결리스트에대한설명중틀린것은 모든노드들이연결되어있다 마지막에삽입하기가간단한다 헤더노드를가질수있다 최종노드포인터가 NULL이다 리스트의 번째요소를가장빠르게찾을수있는구현방법은무엇인가 배열 단순연결리스트 원형연결리스트 이중연결리스트 단순연결리스트의노드포인터 가마지막노드를
리스트에대한설명중틀린것은 구조체도리스트의요소가될수있다 리스트의요소간에는순서가있다 리스트는여러가지방법으로구현될수있다 리스트는집합과동일하다 다음은순차적표현과연결된표현을비교한것이다 설명이틀린것은 연결된표현은포인터를가지고있어상대적으로크기가작아진다 연결된표현은삽입이용이하다 순차적표현은연결된표현보다액세스시간이많이걸린다 연결된표현으로작성된리스트를 개로분리하기가쉽다 다음은연결리스트에서있을수있는여러가지경우를설명했는데잘못된항목은
More information4.1 관계
5 장트리 트리 (tree) 정보의항목들이가지 (branch) 로연결될수있게데이터가조직되는것, 예 ) 그림 5.1 정의 : 트리는 1 개이상의노드로이루어진유한집합으로서 1 root node 2 나머지노드들은 n( 0) 개의분리집합 (disjoint set) T 1, T 2,, T n 으로분리, T i 는각각트리로서 subtree 노드 : 정보항목 + 다른노드로뻗어진가지
More informationPowerPoint 프레젠테이션
리스트 5 장. 리스트 목록이나도표처럼여러데이터를관리할수있는자료형을추상화 데이터삽입, 삭제, 검색등필요작업을가함스택과큐는리스트의특수한경우에해당 학습목표 추상자료형리스트개념과필요작업을이해한다. 배열로구현하는방법, 연결리스트로구현하는방법을숙지한다. C로구현할때와 C++ 로구현할때의차이점을이해한다. 자료구조로서배열과연결리스트의장단점을이해한다. 1 Section 01
More informationadfasdfasfdasfasfadf
C 4.5 Source code Pt.3 ISL / 강한솔 2019-04-10 Index Tree structure Build.h Tree.h St-thresh.h 2 Tree structure *Concpets : Node, Branch, Leaf, Subtree, Attribute, Attribute Value, Class Play, Don't Play.
More information<3235B0AD20BCF6BFADC0C720B1D8C7D120C2FC20B0C5C1FE20322E687770>
25 강. 수열의극한참거짓 2 두수열 { }, {b n } 의극한에대한 < 보기 > 의설명중옳은것을모두고르면? Ⅰ. < b n 이고 lim = 이면 lim b n =이다. Ⅱ. 두수열 { }, {b n } 이수렴할때 < b n 이면 lim < lim b n 이다. Ⅲ. lim b n =0이면 lim =0또는 lim b n =0이다. Ⅰ 2Ⅱ 3Ⅲ 4Ⅰ,Ⅱ 5Ⅰ,Ⅲ
More information10. 다차원공간화일 DBLAB, SNU v 다차원데이타 u 다차원데이타 (multidimensional data) 전통적인 1차원데이타레코드가아니라 CAD (computer aided design) 나지리정보시스템 (geographical information sys
10. 다차원공간화일 v 다차원데이타 u 다차원데이타 (multidimensionl dt) 전통적인 1차원데이타레코드가아니라 CAD (computer ided design) 나지리정보시스템 (geogrphicl informtion system) 에서의선 (line), 면 (plne), 위치 (loction) 와같은데이타 다차원데이타를나타내는 (x, y) 또는
More informationMicrosoft PowerPoint - logo_3.ppt [호환 모드]
Logo Programming 학습목표 데이터종류를의미하는데이터타입에대해살펴본다. (LOGO의데이터타입 : 단어, 리스트, 배열 ) 값을저장하는공간인변수에대해살펴본다. 데이터관리하기에대해살펴본다. 2012. 5. 박남제 namjepark@jejunu.ac.kr < 데이터타입 > - 단어 단어단어 (word) 는 1 개이상의문자들을나열한것, 123 같은수도단어
More information<4D F736F F F696E74202D E DB0FCB0E820BBE7BBF3BFA120C0C7C7D120B0FCB0E820B5A5C0CCC5CDBAA3C0CCBDBA20BCB3B0E8>
데이터베이스 (Database) ER- 관계사상에의한관계데이터베이스설계 문양세강원대학교 IT특성화대학컴퓨터과학전공 설계과정 [ 그림 3.1] 작은세계 요구사항들의수정과분석 Functional Requirements 데이타베이스요구사항들 FUNCTIONAL ANALYSIS 개념적설계 ERD 사용 High level ltransaction Specification
More informationPowerPoint 프레젠테이션
제 6 장해시테이블 6.1 해시테이블 이진탐색트리의성능을개선한 AVL 트리와레드블랙트리의삽입과삭제연산의수행시간은각각 O(logN) 그렇다면 O(logN) 보다좋은성능을갖는자료구조는없을까? [ 핵심아이디어 ] O(logN) 시간보다빠른연산을위해, 키와 1 차원리스트의인덱스의관계를이용하여키 ( 항목 ) 를저장한다. [ 그림 6-2] 키를그대로 1 차원리스트의인덱스로사용
More information중간고사
중간고사 예제 1 사용자로부터받은두개의숫자 x, y 중에서큰수를찾는알고리즘을의사코드로작성하시오. Step 1: Input x, y Step 2: if (x > y) then MAX
More information11장 포인터
누구나즐기는 C 언어콘서트 제 9 장포인터 이번장에서학습할내용 포인터이란? 변수의주소 포인터의선언 간접참조연산자 포인터연산 포인터와배열 포인터와함수 이번장에서는포인터의기초적인지식을학습한다. 포인터란? 포인터 (pointer): 주소를가지고있는변수 메모리의구조 변수는메모리에저장된다. 메모리는바이트단위로액세스된다. 첫번째바이트의주소는 0, 두번째바이트는 1, 변수와메모리
More informationMicrosoft PowerPoint 웹 연동 기술.pptx
웹프로그래밍및실습 ( g & Practice) 문양세강원대학교 IT 대학컴퓨터과학전공 URL 분석 (1/2) URL (Uniform Resource Locator) 프로토콜, 호스트, 포트, 경로, 비밀번호, User 등의정보를포함 예. http://kim:3759@www.hostname.com:80/doc/index.html URL 을속성별로분리하고자할경우
More informationq 이장에서다룰내용 1 연결자료구조방식 2 단순연결리스트 3 원형연결리스트 4 이중연결리스트 3 다항식의연결자료구조표현 2
연결자료구조표현방식 IT CookBook, 자바로배우는쉬운자료구조 q 이장에서다룰내용 1 연결자료구조방식 2 단순연결리스트 3 원형연결리스트 4 이중연결리스트 3 다항식의연결자료구조표현 2 q 연결자료구조 v 순차자료구조의문제점 삽입연산이나삭제연산후에연속적인물리주소를유지하기위해서원소들을이동시키는추가적인작업과시간소요 Ø 원소들의이동작업으로인한오버헤드는원소의개수가많고삽입
More information쉽게 배우는 알고리즘 강의노트
쉽게배우는알고리즘 장. 정렬 Sorting http://www.hanbit.co.kr 장. 정렬 Sorting 은유, 그것은정신적상호연관성의피륙을짜는방법이다. 은유는살아있다는것의바탕이다. - 그레고리베이트슨 - 2 - 학습목표 기본정렬알고리즘을이해한다. 정렬을귀납적관점에서볼수있도록한다. 1 장과 2 장에서배운기법을사용해각정렬의수행시간을분석할수있도록한다. 비교정렬의한계를이해하고,
More information歯MW-1000AP_Manual_Kor_HJS.PDF
Page 2 Page 3 Page 4 Page 5 Page 6 Page 7 Page 8 Page 9 Page 10 Page 11 Page 12 Page 13 Page 14 Page 15 Page 16 Page 17 Page 18 Page 19 Page 20 Page 21 Page 22 Page 23 Page 24 Page 25 Page 26 Page 27 Page
More information