이진 트리 종류

(2023-12-28)

Perfect Binary Tree, 포화 이진 트리, Complete Binary Tree, 완전 이진 트리


1. 이진 트리의 종류

  ㅇ 전 이진 트리 (Full Binary Tree)
     - 모든 노드차수/자식이 0 또는 2 이어야 함

  ㅇ 포화 이진 트리 (Perfect Binary Tree)
     - 모든 노드들의 자식이 2인 (꽉찬) 트리
     * 높이 i일 때, 2i-1개 노드를 갖음    ☞ 트리 용어 참조
     * 포화 이진 트리는, 전 이진 트리이고 또한 완전 이진 트리이기도 함

  ㅇ 완전 이진 트리 (Complete Binary Tree)
     - 포화 이진 트리의 맨아래 단말 노드들을, 오른쪽부터 하나씩 제거하면, 얻어지는 트리
     - 결국, 마지막 레벨을 제외하고는, 각 레벨의 노드들이 모두 차 있음
        . 마지막 레벨에서는, 노드가 꽉 차있지 않아도 되지만, 중간에 빈 곳이 있으면 안됨
        . 부모, 왼쪽 자식, 오른쪽 자식 순으로, 꽉 채워지며 만들어지는 이진 트리
     - 여기서, 완전(complete)은, 
        . 부모가 자식을 왼쪽부터 채운다는 말임  ☞ 순서 트리 참조
     - 높이 h일 때, h-1 레벨까지, 2h-1-1개 노드를 갖음

  ㅇ 이진 힙 (Binary Heap)
     - 포화 이진 트리의 일종
        . 부모,자식 간에는 대소 관계가 있으나, 형제들 간에 대소 관계가 정해지지 않음
        . 이에따라, 부분 순서 트리(Partial Ordered Tree) 라고도 함

  ㅇ 균형 트리 (Balanced Tree)
     - 이진 트리에서 하위 노드 구조가 좌우 대칭이 되도록 한 것 (例, B-tree)


2. 이진 트리의 응용 종류이진 검색 트리 (Binary Search Tree, BST)
     - 이진 트리 구조를 갖으나, 자료의 검색,삭제,삽입에 효율적이게 한 트리 자료구조
     - 각 노드는 2개의 자식 노드를 각각 가리키는 2개의 포인터를 갖음

  ㅇ AVL 트리 (AVL Tree, Adelson-Velskii and Landis's Tree)
     - 한 노드를 중심으로 좌우 부분의 트리 높이(height)의 차가 1 이하가 되게하는 이진 탐색 트리
     - 가장 초기에 나온 균형 잡힌(Balanced) 이진 탐색 트리B 트리 (B-Tree, Balanced Tree)
     - 이진 탐색 트리를 보다 일반화시킨 트리 자료구조를 말함
     - 데이터베이스파일시스템에 널리 쓰이는 자료구조

  ㅇ 한편, 
     - 이진 검색 트리 : 최대 2개의 자식 노드를 가질 수 있음
     - 다진 검색 트리 : 최대 3 이상의 자식 노드를 갖는 검색 트리 (k진 검색 트리)

트리
   1. 트리   2. 트리 용어   3. 트리 종류   4. 트리 순회   5. 스패닝 트리   6. 이진 트리   7. 이진 트리 종류   8. 이진 탐색 트리   9. B 트리 (균형 트리)   10. 이진 힙   11. 멀티캐스트 트리   12. 결정 트리  


Copyrightⓒ written by 차재복 (Cha Jae Bok)
"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"