트리구조
계층적인 구조를 표현
- 조직도
- 디렉토리와 서브 디렉토리 구조
- 가계도
트리는 노드들과 노드들을 연결하는 링크들로 구성된다.
용어
루트 노드 - 부모가 없는 노드, 트리는 하나의 루트 노드만을 가짐.
단말 노드 - 자식이 없는 노드.
내부 노드 - 단말 노드가 아닌 노드
링크 - 노드를 연결하는 선
형제 - 같은 부모를 가지는 노드

노드의 크기 - 자신을 포함한 모든 자식 노드의 개수
- C의 크기 : 6
노드의 깊이 - 루트에서 어떤 노드에 도달하기 위해 거쳐야 하는 간선의 수
- D의 깊이 : 2
- L의 깊이 : 3
노드의 레벨 - 트리의 특정 깊이를 가지는 노드이 집합
- A의 레벨 1
- B , C의 레벨 : 2
- D, E, F, G, H, 의 레벨 : 3
- I, J, K, L, M, N 의 레벨 : 4
노드의 차수 - 하위 트리 개수 / 간선 수 (degree) = 각
노드가 지닌 가지의 수
- A의 차수 = 2
- B의 차수 = 3
- C의 차수 = 2
트리의 차수 - 트리의 최대 차수
- B가 최대 차수를 가짐 => 3
트리의 높이 - 루트 노드에서 가장 깊숙히 있는 노드의 깊이
- 3
트리의 기본 성질
- 노드가 N개인 개인 트리는 항상 N - 1개의 링크를 가진다.
- 트리에서 루트에서 어떤 노드로 가는 경로는 유일하다.
또한 임의의 두 노드 간의 경로도 유일. (같은 노드를 두번 이상 방문하지 않는다는 조건)
이진 트리
1) 개념
이진 트리에서 각 노드는 최대 2개의 자식을 가진다.
각각의 자식 노드는 자신이 부모의 왼쪽 자신인지 오른쪽 자식인지가 지정된다.
-자식이 한명인 경우에도 적용

2)종류
포화 이진 트리 - 모든 레벨에서 노드들이 모두 채워져 있는 트리
완전 이진 트리 - 마지막 레벨을 제외하고 노드가 모두 채워져 있는 트리
3)이진 트리 특징
높이가 h인 포화 이진 트리(full binary tree)는 2h−1개의 노드를 가진다.
노드가 N개인 포화(full) 혹은 완전(complete) 이진 트리의 높이는 O(logN)이다.
노드가 N개인 이진트리의 높이는 최악의 경우 O(N)이 될 수 있다.
참고
'공부 > 개념 & 유용한 내용' 카테고리의 다른 글
Collider 처리 속도, 사용처 , 주의점 (1) | 2020.07.16 |
---|---|
게임에서의 Vector - 내적 / 외적 (0) | 2020.07.16 |
포인터 & 참조자 (0) | 2020.07.13 |
Call by value & Call by reference (0) | 2020.07.13 |
빅오 표기법 (big - O notation) (0) | 2020.07.13 |