ultra_dev
B-Tree 본문
B-Tree는 binary tree(이진 트리)에서 파생된 트리 구조
데이터베이스와 파일 시스템에서 널리 사용되는 트리 자료구조의 일종으로, 이진 트리를 확장해 하나의 노드가 가질 수 있는 자식 노드의 최대 숫자가 2보다 큰 트리 구조
인덱스에서 주로 사용한다.
이진 트리와의 차이점이 있다면, 하나의 노드는 2개 이상의 데이터를 가질 수 있다는 점,
그리고 자식 노드도 여러 개를 가질 수 있다는 점
이진트리는 자식노드 2개밖에 안되지만 B-Tree는 2개 이상이다~ 최대m개 가질 수있다~
하나의 노드에 키값을 여러개 가질 수 있고,
키 사이사이에 자식노드가 연결돼있다.
+
B+tree는 B-tree의 확장개념으로, b-tree와 달리 모든 노드에 key, data가 있지 않으며, leaf 노드에만 key, data가 있다.
그리고 leaf 노드끼리는 연결리스트로 연결되어 있음
기존 트리가 검색하다가 다시 루트노드로 돌아간 뒤에 검색을 또 시작한다면, B+tree는 리프노드가 링크드리스트로 연결돼있어서 루트노드로 돌아가지 않고 빠르게 검색 가능!
'Computer Science' 카테고리의 다른 글
Collection(List, Map, Set) (2) | 2023.03.30 |
---|---|
parameter vs argument (0) | 2023.03.30 |
제네릭이란 (0) | 2023.03.29 |
MSA(Micro Service Architecture) (0) | 2023.03.29 |
인덱스(INDEX)에 대해 (0) | 2023.03.28 |
Comments