B 트리: 두 판 사이의 차이
IT 위키
편집 요약 없음 |
(→조건) |
||
11번째 줄: | 11번째 줄: | ||
** 루트노드는 2개 이상의 자식을 가진다. | ** 루트노드는 2개 이상의 자식을 가진다. | ||
** k개의 자식을 가진 노드는 k-1개의 키를 가진다. | ** k개의 자식을 가진 노드는 k-1개의 키를 가진다. | ||
** 즉, | ** 즉, 자식을 가진 노드는 최소 m/2-1개에서 최대 m-1개의 키를 가진다. | ||
** 모든 리프노드들은 같은 높이에 있어야 한다. | ** 모든 리프노드들은 같은 높이에 있어야 한다. | ||
** 모든 노드들은 키와 자식노드에 대한 포인터로 이루어져 있다. | ** 모든 노드들은 키와 자식노드에 대한 포인터로 이루어져 있다. |
2021년 9월 16일 (목) 22:33 판
- Balanced Tree, B-Tree, B Tree
1 개요
- 자가 균형 트리(Self Balancing Tree)[1]의 일종.
2 조건
- 차수가 m인 B 트리는 아래의 조건을 만족해야 한다.
- 모든 노드는 최대 m개의 자식들을 가진다.
- 루트노드와 리프노드가 아닌 모든 노드는 최소 m/2개의 자식을 가진다.
- 루트노드는 2개 이상의 자식을 가진다.
- k개의 자식을 가진 노드는 k-1개의 키를 가진다.
- 즉, 자식을 가진 노드는 최소 m/2-1개에서 최대 m-1개의 키를 가진다.
- 모든 리프노드들은 같은 높이에 있어야 한다.
- 모든 노드들은 키와 자식노드에 대한 포인터로 이루어져 있다.
3 특징
- 탐색 시간 복잡도 : O(logN)
- 노드의 삽입 또는 삭제 연산 후에도 정렬된 자료구조를 보장한다.
4 비트리의 장단점
장점 | 단점 |
---|---|
|
|
5 같이 보기
- ↑ 모든 리프노드의 높이를 항상 같게 유지하는 트리