hahahia

Binary Trees 본문

Data Structure

Binary Trees

hahahia 2012. 11. 7. 21:48

ㅎㅎ 학교과제로 쌈박한 트리구현이 나와버렸어요

어차피 과제 제출기간도 끝났으니 포스팅해볼게여 ㅋㅋ

그전에 잠시 Binary Tree(이진 트리)에 대해 설명해볼게요

이진 트리(binary tree)란 한 노드가 최대 두 개의 자식 노드를 가지는 트리를 뜻합니다. 보통 첫 번째 노드를 부모 노드라고 하며 자식 노드는 왼쪽(left)과 오른쪽(right)으로 불린다. 이진 트리는 이진 탐색 트리와 이진 힙의 구현에 흔히 쓰입니다.

그림으로 보시면 이해가 빠르실거에요

자 이제 여기서 자식의 수가 가변적인 일반 트리구조와 가장 큰 차이점은 바로 자식노드가 2개라는 점인데요.

일반적으로 자식의 수가 정해져 있다면 구현상으로 더 쉬울듯합니다(아님말구요...)

그러면 일반 트리에서 이진 트리로 바꾸는 방법이 있을텐데요. 네 있습니다.


공식 : 현재(자기자신) 노드에서 Left는 자신의 자식(Child), Right는 자신의 형제(Sibling이라고 표현하기도 합니다.)로 둡니다. 


자 그러면 공식을 배웠으니 적용해볼까요?ㅎㅎㅎㅎㅎㅎ

      


짜자잔


    


위쪽은 일반트리, 아래쪽은 일반트리를 이진트리로 바꾼 구조입니다.

쉽죠?ㅋㅋㅋㅋ

다음 포스팅에는 구체적으로 바이너리트리를 이용한 회원관리 프로그램을 설명하도록 하겠습니다.

이것만 알면 쉽게 트리를 구현할수 있어요

'Data Structure' 카테고리의 다른 글

List로 구현한 Queue  (0) 2013.01.31
CircularArray(환형 배열, queue)  (0) 2012.10.24
간단한 리스트 구현(단방향)  (0) 2012.09.08
Linked List(링크드 리스트)  (0) 2012.03.24
큐(Queue)  (0) 2012.03.02
Comments