- 비선형 구조로 원소들 간에 1:n 관계를 갖는 자료구조,
- 한 개 이상의 노드로 이루어진 유한 집합
- 원소들 간에 계층관계를 가지는 자료구조
- 상위 원소에서 하위 원소로 내려가면서 확장되는 Tree 모양의 구조
루트(Root node): 노드 중 최상위 노드.
형제 노드(Sibling node): 같은 부모 노드의 자식 노드들
조상(Ancestor node): 간선을 따라 루트 노드까지 이르는 경로에 있는 모든 노드들.
부트리(SubTree): 부모 노드와 연결된 간선을 끊었을 때 생성되는 Tree
자손 노드(Descendent node): 부트리에 있는 하위 레벨의 노드
단말 노드(Leaf node): 차수가 0인 노드, 자식 노드가 없는 노드
Node: Tree의 원소
Edge: 노드와 노드(부모 노드와 자식 노드)를 연결하는 선
- 모든 노드들이 2개의 부트리를 갖는 특별한 형태의 Tree
- 노드가 자식 노드를 최대한 2개까지만 가질 수 있는 Tree
- 왼쪽 자식 노드(Left child node)
- 오른쪽 자식 노드(Right child node)
- 레벨 i에서 노드의 최대 개수는 개
- 높이가 h인 Binary Tree가 가질 수 있는 노드의 최소 개수는 개, 최대 개수는 개
모든 노드가 0개 또는 2개의 자식을 갖는 Binary Tree
모든 레벨의 노드가 포화 상태로 차 있는 Binary Tree
높이 h에 대한 최소 개수의 노드를 가지면서 한쪽 방향의 자식 노드만을 가진 Binary Tree
- Tree의 노드 번호를 위와 같이 부여
- 루트 번호를 1로 함
- 레벨 n에 있는 노드에 대하여 왼족부터 오른쪽으로 까지 번호를 차례로 부여
- 탐색작업을 효율적으로 하기 위한 자료구조.
- 모든 원소는 서로 다른 유일한 키를 가짐.(중복을 허용하지 않는다.)
left child node
<parent node
<right child node
- left sub tree와 right sub tree 모두 binary search tree이다.
- 중위 순회하면 오름차순으로 정렬 된 값을 얻을 수 있다.
성능
1. 일반적으로 h:height
1. 균형적으로 생성된 평균적인 경우
1. skewed binary search tree와 같은 최악의 경우
- Complete Binary Tree에 있는 노드 중에서 키값이 가장 큰 노드나 키값이 가장 작은 노드를 찾기 위해서 만든 자료구조
- 중복된 값을 허용한다.
- 키값이 가장 큰 노드를 찾기 위한 Complete Binary Tree
- Parent node의 key > child node의 key
- root node: 키값이 가장 큰 노드
- 키값이 가장 작은 노드를 찾기 위한 Complete Binary Tree
- Parent node의 key < child node의 key
- root node: 키값이 가장 작은 노드