chap 5: Trees

Similar documents
Microsoft PowerPoint - Chap5 [호환 모드]

7장

chap 5: Trees

Microsoft PowerPoint - 제8장-트리.pptx

슬라이드 1

08장.트리

05_tree

Microsoft PowerPoint - chap10_tree

Microsoft PowerPoint - 자료구조2008Chap07

슬라이드 제목 없음

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

Microsoft PowerPoint - lec07_tree [호환 모드]

입학사정관제도

4.1 관계

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

e-비즈니스 전략 수립

슬라이드 1

제 1 장 기본 개념

슬라이드 1

슬라이드 1

슬라이드 1

Chapter 08. 트리(Tree)

Ch.1 Introduction

슬라이드 1

PowerPoint 프레젠테이션

Chap 6: Graphs

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

슬라이드 1

제 11 장 다원 탐색 트리

Microsoft PowerPoint - Chap5 [호환 모드]

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

Chapter 4. LISTS

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

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

06장.리스트

슬라이드 1

슬라이드 1

Microsoft PowerPoint - 6장 탐색.pptx

untitled

리스트 (list), 선형리스트 (linear list): 순서를가진항목들의모임 집합 : 항목간의순서의개념이없음 L = n ( item0, item1,..., item -1) l 리스트의예 l 요일 : ( 일요일, 월요일,, 토요일 ) l 한글자음의모임 : ( ㄱ, ㄴ

이번장에서학습할내용 동적메모리란? malloc() 와 calloc() 연결리스트 파일을이용하면보다많은데이터를유용하고지속적으로사용및관리할수있습니다. 2

슬라이드 1

5.스택(강의자료).key

Microsoft PowerPoint - 08-Queue.ppt

1장. 리스트

Microsoft PowerPoint - 제9장-트리의응용.pptx

Microsoft PowerPoint - 08-chap06-Queue.ppt

11장 포인터

EA0015: 컴파일러

1장. 리스트

2002년 2학기 자료구조

Microsoft PowerPoint - 07-chap05-Stack.ppt

5 장 트 리

Chap 6: Graphs

03_queue

11강-힙정렬.ppt

Chapter 4. LISTS

Data structure: Assignment 1 Seung-Hoon Na October 1, Assignment 1 Binary search 주어진 정렬된 입력 파일이 있다고 가정하자. 단, 파일내의 숫자는 공백으로 구 분, file내에 숫자들은

원형연결리스트에대한설명중틀린것은 모든노드들이연결되어있다 마지막에삽입하기가간단한다 헤더노드를가질수있다 최종노드포인터가 NULL이다 리스트의 번째요소를가장빠르게찾을수있는구현방법은무엇인가 배열 단순연결리스트 원형연결리스트 이중연결리스트 단순연결리스트의노드포인터 가마지막노드를

슬라이드 1

Chapter 4. LISTS

02장.배열과 클래스

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000 ±×to0.

SNU =10100 =minusby by1000 ÇÁto0.03exÇÁto0.03exÇÁ=10100 =minusby by1000 ·Îto0.03ex·Îto0.03ex·Î=10100 =minusby by1000 ±×to0.

C 언어 강의노트

Algorithms

chap x: G입력

ABC 10장

untitled

歯MW-1000AP_Manual_Kor_HJS.PDF

1. 리스트개념 리스트 (list) 고정된길이의자료 ( 원소 ) 들을순차적으로나열해놓은집합을가르키는자료구조의추상적인개념 순서를가진항목들의모임 집합 (set) : 항목간의순서의개념이없음 리스트의예 요일 : ( 일요일, 월요일,, 토요일 ) 한글자음의모임 : (ᄀ,ᄂ,,ᄒ

리스트구현방법 배열 (array) 을이용하는방법 구현이간단 삽입, 삭제동작에따른원소이동. 항목의개수제한, 정적기억공간할당. 메모리낭비, 오버플로우 연결리스트 (linked list) 를이용하는방법 구현이복잡 삽입, 삭제가효율적 크기가제한되지않음 Lecture 03_Li

<4D F736F F F696E74202D20C1A637C0E52DB0EDB1DEBFACB0E1B8AEBDBAC6AE2E >

09J1_ _R.hwp

<4D F736F F F696E74202D20C0DAB7E1B1B8C1B65FC3E2BCAEBCF6BEF7>

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

PowerPoint 프레젠테이션

01....b

2007백서-001-특집

00목차

(291)본문7

¾Ë·¹¸£±âÁöħ¼�1-ÃÖÁ¾

Data structure: Assignment 3 Seung-Hoon Na December 14, 2018 레드 블랙 트리 (Red-Black Tree) 1 본 절에서는 레드 블랙 트리를 2-3트리 또는 2-3-4트리 대한 동등한 자료구조로 보고, 두 가지 유형의 레

chap01_time_complexity.key

슬라이드 1

PowerPoint Presentation

제 11 장포인터 유준범 (JUNBEOM YOO) Ver 본강의자료는생능출판사의 PPT 강의자료 를기반으로제작되었습니다.

Microsoft PowerPoint - chap-11.pptx

<322EBCF8C8AF28BFACBDC0B9AEC1A6292E687770>

Let G = (V, E) be a connected, undirected graph with a real-valued weight function w defined on E. Let A be a set of E, possibly empty, that is includ

Microsoft PowerPoint - 05-chap03-ArrayAndPointer.ppt

중간고사 (자료 구조)

Microsoft PowerPoint - chap4_list

리스트연산, 검색 + 삽입 + 삭제 새로운항목을리스트의처음, 중간, 끝에추가. 기존의항목을리스트의임의의위치에서삭제. 모든항목을삭제. 기존항목을대치 (replace). 리스트가특정항목을가지고있는지를검색 (search). 리스트의특정위치의항목을반환. 리스트안의항목의개수를센

슬라이드 1

고급자료구조

Contents v 학습목표 자료구조큐에대한개념을스택과비교하여이해한다. 큐의특징과연산방법에대해알아본다. 순차표현방법을이용한큐와연결표현방법을이용한큐를구현해본다. 큐의응용방법을알아본다. v 내용 큐 큐의구현 큐의응용 2/74

4장

슬라이드 1

Transcription:

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 Trees) 9. Forests 10. 집합표현 (Set Representation) 11. 이진트리의개수계산 5 장. 트리 (Page 2)

1. Introduction 트리의정의 하나이상의 node 로이루어진유한집합으로서 Root 라고하는노드가하나존재 나머지노드들은 n ( 0) 개의분리집합 T 1,, T n 으로분할될수있다. T 1,, T n : 각각하나의트리 Root 의서브트리 (subtree) 예 : 그림 5.1 가계도의두가지형태 5 장. 트리 (Page 3)

두종류의가계도 Dusty Honey Bear Brandy Brunhilde Terry Coyote Nugget Gill Tansey Tweed Zoe Crocus Primrose Nous Belle (a) 가계도 Proto Indo-European Italic Hellenic Germanic Osco-Umbrian Latin Greek North Germanic West Germanic Osco Umbrian Spanish French Italian Icelandic Norwegian Swedish Low High Yiddish (b) 언어의파생 5 장. 트리 (Page 4)

트리에관련된용어들 Sample Tree Level 1 B C D E F G H I J K L M Level 2 Level 3 Level 4 노드의차수 (degree) (: 3), 트리의차수 (degree) (3) 단말노드 (leaf or terminal node) (K, L, F, G, M, I, J) Parent (E: B), Children (B: E & F), Siblings (E & F) ncestor (M: H, D, ), Descendants (B: E, F, K, L) Level (Root: 1), Height or Depth (4) 5 장. 트리 (Page 5)

트리의표현 리스트표현 ( (B (E (K, L), F), C (G), D (H (M), I, J))) 연결리스트 : 링크필드의수가가변 data Link 1 Link 2 Link n Left Child - Right Sibling 표현 트리의모든노드마다 2개의링크필드만포함 data left child right child 5 장. 트리 (Page 6)

Left-Child Right-Sibling 표현 B C D E F G H I J K L M 이진트리 (Binary Tree) B C D E F G H I J K L M 5 장. 트리 (Page 7)

이진트리 원트리 D B C 노드 B 의자식노드의수? 이진트리 원트리 I E F J G M H C 의부모노드? 이진트리 원트리 K L 단말노드의수? 이진트리 원트리 5 장. 트리 (Page 8)

2. 이진트리 추상적데이터타입 이진트리의성질 이진트리의표현 5 장. 트리 (Page 9)

2.1 추상적데이터타입 이진트리의주요특징 모든노드의차수 (degree) 는 2 를넘지않는다 왼쪽서브트리와오른쪽서브트리가구분 이진트리는 0 개의노드를포함할수도있다. 이진트리의정의 유한개의노드들의집합으로서 노드수는 0 이될수있으며, 하나의 root 노드와왼쪽서브트리, 그리고오른쪽서브트리로구성 각서브트리는다시이진트리이다. 5 장. 트리 (Page 10)

DT 5.1: 이진트리 DT DT Binary_Tree (abbreviated BinTree) 객체 : 유한개의노드집합으로, 하나의 root 노드와왼쪽 Binary_Tree, 그리고오른쪽 Binary_Tree 로구성함수 : for all bt, bt1, bt2 BinTree, item element BinTree Create() ::= 노드수가 0인이진트리생성 Boolean IsEmpty(bt) ::= if (bt의노드수 == 0) return TRUE else return FLSE BinTree MakeBT(bt1, item, bt2) ::= 왼쪽서브트리는 bt1, 오른쪽서브트리는 bt2, 그리고 root 노드에 item을저장한이진트리를반환 BinTree Root(bt) ::= if (IsEmpty(bt)) return error else bt의루트노드를반환 BinTree Rchild(bt) ::= if (IsEmpty(bt)) return error else bt의오른쪽서브트리를반환 5 장. 트리 (Page 11)

그림 5.8: 서로다른두이진트리 B B 5 장. 트리 (Page 12)

그림 5.9: 편향트리와완전이진트리 Level 1 B B C 2 C D E F G 3 D H I 4 E 5 편향 (skewed) 완전 (complete) 이진트리 이진트리 5 장. 트리 (Page 13)

2.2 이진트리의성질 보조정리 5.1 [ 최대노드수 ] 이진트리의레벨 i에서최대노드수는 2 i-1 (i 1) 깊이가 k인이진트리가가질수있는최대노드수 = k i= 1 2 i 1 = 2 1 보조정리 5.2 [ 단말노드수와차수가 2 인노드수 ] n 0 : 단말노드수, n 2 : 차수가 2 인노드의수 n 0 = n 2 + 1 ( 증명 ) n = n 0 + n 1 + n 2 & n = E + 1 = n 1 + 2n 2 + 1 정의 : 깊이가 k 인포화이진트리 (full binary tree) 깊이가 k 이고노드수가 2 k 1 (k 0) 인이진트리 k 5 장. 트리 (Page 14)

완전이진트리 (Complete Binary Tree) 완전이진트리란? 깊이가 k 이고노드수가 n 인이진트리의각노드들이깊이가 k 인포화이진트리에서 1 부터 n 까지의번호를붙인노드들과 1 대 1 로일치하는이진트리 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 장. 트리 (Page 15)

연습문제 깊이가 k 인이진트리의두가지종류로노드수가가장많은트리를, 노드수가가장적은트리를 B 라고할때, 아래질문에답하라. 단, 루트노드의레벨은 1 로한다. 레벨 i 에존재하는노드수의최소값과최대값은얼마인가? 의노드수에서 B 의노드수를뺀값은얼마인가? 에서단말노드가아닌노드의수에서단말노드의수를뺀값은얼마인가? 5 장. 트리 (Page 16)

2.3 이진트리의표현 배열표현보조정리 5.3 을이용하여 1 차원배열에저장 보조정리 5.3: n 개의노드를가진완전이진트리가순차적으로표현되어있다면 (depth = log 2 (n + 1) ), 인덱스 i (1 i n) 를갖는임의의노드에대해다음이성립. parent(i) = i/2 if i 1. If i = 1 (root), no parent. lchild(i) = 2i if 2i n. If 2i > n, i has no left child. rchild(i) = 2i + 1 if 2i + 1 n. If 2i + 1 > n, no right child. 5 장. 트리 (Page 17)

그림 5.11: 그림 5.9 의배열표현 [1] [2] [3] [4] [5] [6] [7] [8] [9]... [16] B -- C -- -- -- D -- 그림 5.9(a) 편향트리... E [1] [2] B [3] C [4] D [5] E [6] F [7] G [8] H [9] I 그림 5.9(b) 완전이진트리 5 장. 트리 (Page 18)

링크표현 typedef struct node *tree_pointer; struct node { int data; struct node *left_child; struct node *right_child; }; data left_child data right_child left_child right_child 5 장. 트리 (Page 19)

그림 5.13: 그림 5.9 의링크표현 NULL root root B C B NULL D NULL E NULL NULL F NULL NULL G NULL C NULL NULL H NULL NULL I NULL D NULL NULL E NULL 1. 노드수가 n 일경우, 링크의수? 2. NULL 인링크의수? 5 장. 트리 (Page 20)