본문 바로가기

프로그래밍/기본기ㆍ자료구조

Tree (트리)

728x90
반응형

그래프의 일종.

데이터 항목의 한 묶음을 세그먼트라고 하는데, 이 세그먼트 사이의 연결을 나뭇가지처럼 표현한 것이 트리 구조다.

1. 트리 종류

a. 이진 트리 (binary tree)

- 자식노드가 최대 2개면 이진 트리라고 한다.

- 이진 탐색 트리, 힙 등을 구현하기 위해 사용된다.

b. 삼항 트리 (ternary tree)

- 자식노드가 최대 3개면 삼항 트리로 구분된다.

c. 완전 이진 트리 (complete binary tree)

- 노드들이 왼쪽부터 차곡차곡 쌓여있는 형태의 트리

d. 포화 이진 트리 (full binary tree)

- 단말 노드까지의 깊이가 동일하면서 모든 노드의 자식 노드가 2개인 이진 트리를 말한다.

2. 노드 종류

a. 노드

- 그래프를 구성하는 하나의 요소.

- 그래프는 점과 선으로 구성되는데, 이 점을 노드라고 한다.

(트리구조도 그래프의 일종)

b. 루트 노드

- 트리 구조의 최상위 노드를 루트(root)라고 한다.

c. 부모노드

- 하위 노드를 가리키는 상위 노드를 부모(parent)라고 한다.

d. 자식노드

- 상위 노드가 가리키는 하위 노드를 자식(child)라고 한다.

e. 형제 노드

- 같은 계층에 있는 노드를 형제(siblings)라고 한다.

f. 잎 노드, 단말 노드

- 자식 노드가 없는 노드를 잎(leaf) 또는 단말(terminal)라고 한다.

3. 용어

a. 경로(path)

- 한 노드에서 다른 한 노드에 이르는 길 사이에 있는 노드들의 순서

b. 길이(length)

- 출발 노드에서 도착 노드까지 거치는 노드의 갯수

c. 깊이(depth)

- 루트 경로의 길이

d. 레벨(level)

- 루트 노드(1) 로 부터 노드까지 연결된 엣지의 수의 합

e. 높이(height)

- 가장 긴 루트 경로의 길이

f. 차수(degree)

- 각 노드의 자식의 갯수

- 트리의 차수(degree of tree): 트리의 최대 차수

g. 크기(size)

- 노드의 개수

h. 너비(width)

- 가장 많은 노드를 갖고 있는 레벨의 크기

4. 순회 연산

a. 전위 순회 (PRE-ORDER)

- 부모노드 -> 왼쪽 자식노드 -> 오른쪽 자식노드 순으로 순회

b. 중위 순회 (IN_ORDER)

- 왼쪽 자식노드 -> 부모노드 -> 오른쪽 자식노드 순으로 순회

c. 후위 순회 (POST-ORDER)

- 왼쪽 자식노드 -> 오른쪽 자식 노드 -> 부모노드 순으로 순회

d. 계층 순회 (LEVEL-ORDER)

- 트리의 레벨 순서에 따라 순회

참고 출처

 

Binary Tree(이진 트리)

-이진트리란 : 차수의 개수(자식 노드의 개수)가 최대 2개를 가지는 트리 구조 포화 이진 트리 : 말단 노드...

blog.naver.com

 

 

 

이진 트리

정의이진트리 : 부모 노드 밑에 여러 자식 노드가 연결되고, 자식 노드 각각에 다시 자식 노드가 연결되는 ...

blog.naver.com

 

 

자료구조 :: 이진 트리 순회 - 전위 순회, 중위순회, 후위순회

트리는 자료구조에서 비선형 자료구조라는 특징을 가지고 있으며 크게 루트노드, 가지노드, 잎 노드 라고 ...

blog.naver.com

 

 

전위 순회, 중위 순회, 후위 순회 - 트리를 어떤 순서로 방문할까?

트리에서 순회하는 방법은 몇 가지가 있는데요. 그 중에 3가지를 배워볼 거에요. 전위 순회, 중위 순회, 후...

blog.naver.com

 

 

[자료구조] Level order traversal 시 연속적인 자료가 탐색되는 이진트리 만들기 (추가)

앞에서는 이미 연결이 다 되어 있는 이진 트리를 Level Order Traversal 로 순회하는 것을 알아보았는데...

blog.naver.com

 

 

다람쥐와 포동포동이

 

 

RememberCook 9월 28일 정식 출시!

두번째 게임인 RememberCook이 출시되었습니다. 귀여운 캐릭터들이 나오는 간단한 게임이며 플레이어의 공간인지능력을 테스트하는 게임입니다. 아래 링크를 통해 다운 받으실 수 있으니 많은 관��

chipmunk-plump-plump.tistory.com

반응형

'프로그래밍 > 기본기ㆍ자료구조' 카테고리의 다른 글

Map (맵)  (0) 2020.04.19
Graph (그래프)  (0) 2020.04.15
DeQueue (데큐,데크)  (2) 2020.04.14
Priority Queue (우선순위 큐)  (0) 2020.04.14
Heap (힙 메모리)  (1) 2020.04.14