그래프의 일종.
데이터 항목의 한 묶음을 세그먼트라고 하는데, 이 세그먼트 사이의 연결을 나뭇가지처럼 표현한 것이 트리 구조다.
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 |