B-Tree

: B트리는 Binary Tree에서 발전되어 모든 리프노드들이 같은 레벨을 가질 수 있도록 자동으로 벨런스를 맞추는 트리이다. 정렬된 순서를 보장하고, 멀티레벨 인덱싱을 통해 빠른 검색을 할 수 있기 때문에 DB에서 사용하는 자료구조이다.

최대 M개의 자식을 가질 수 있는 B트리를 M차 B트리라고 한다.

3차 B 트리의 예

Untitled

Key 검색 과정

검색하고자 하는 값을 k 라고 가정한다면,

  1. 루트 노드에서 시작하여 key들을 순회하며 k값의 범위를 찾는다
  2. 리프노드에 도달할 때 까지 1번을 반복한다, 만약 리프노드에 도달하여 k와 같은 key가 없을 경우, 검색을 실패한다.

Untitled