본문 바로가기

자료구조

완전 이진 트리

- 이진 트리 (Binary Tree)

각각의 Node가 최대 2개의 child Node를 가지는 Tree형 자료구조.

루트 노드(root node) : 부모가 없는 노드로 트리는 단 하나의 루트 노드를 가진다. (ex : A- 루트노드)
단말 노드(leaf node) : 자식이 없는 노드로 terminal 노드라고도 부른다. (ex : C, D, E - 단말 노드)
내부 노드(internal node) : 단말 노드가 아닌 노드(ex : A, B - 내부 노드)
간선(edge) : 노드를 연결하는 선
형제(sibling) : 같은 부모 노드를 갖는 노드들 (ex : D-E, B-C : 형제)
노드의 깊이(depth) : 루트 노드에서 어떤 노드에 도달하기 위해 거쳐야 하는 간선의 수(ex : D의 depth : 2)
노드의 레벨(level) : 트리의 특정 깊이를 가지는 노드의 집합 ( ex : level 1- {B, C} )
노드의 차수(degree) : 자식 노드의 개수 (  ex : B의 degree - 2, C의 degree - 0)
트리의 차수(degree of tree) : 트리의 최대 차수 ( ex : 위 트리의 차수는 2이다)
출처: https://code-lab1.tistory.com/8 [코드 연구소:티스토리]

- 완전 이진 트리 (Complete Binary Tree)

  • 마지막 레벨을 제외하고 모든 level이 꽉 채워져 있어야 한다.
  • 마지막 레벨은 꽉 채워져 있어야 하진 않지만 노드가 왼쪽에서부터 오른쪽 순서대로 채워져 있어야 한다.
  • 완전 이진트리는 배열을 사용해서 효율적으로 표현할 수 있다.

'자료구조' 카테고리의 다른 글

Vector - 순차 컨테이너  (0) 2024.07.16
Array - 순차 컨테이너  (0) 2024.07.16
Heap Tree  (0) 2022.09.05
Red-Black Tree  (0) 2022.09.05
이진 탐색 트리  (0) 2022.09.05