2018년/C, Java, FileSystem
[File System] ::B* tree, B+ tree
B tree의 문제점은 구조를 유지하기 위해 추가적으로 연산을 해야한다는 것 (삽입시 분열하거나,, 삭제할때 재분배,합병하거나...) Knuth에 의해 제안된 B* 트리는 이러한 문제를 보안하기 위해 나왔으며 Btree에서 최소 2/M의 키값을 가져야한다는 점을 2/3의 키값을 가져야한다고 변경한것이다. 특징은 아래와 같다. 1) 리프를 제외한 모든 노드는 m개의 서브트리 이상을 가질 수 없다2) 루트와 리프를 제외한 모든 노드는 적어도 [(2m-2)/3]+1개의 서브트리를 갖는다.3) 루트는 리프가 아닌 이상 최소 2개, 적어도 2[(2m-2)/3]+1개의 서브트리를 갖는다.4) 모든 리프는 같은 레벨에 있다.5) 리프가 아닌 노드의 키 값의 수는 그 노드의 서브트리수보다 하나 적다6) 각 리프노드는 ..
2018. 1. 22. 20:19