B-Tree
B-Tree
为了描述
那么
- 一个节点中的
key 从左到右非递减排列。所有节点组成树结构。每个指针要么为null ,要么指向另外一个节点。 - 每个叶节点最少包含一个
key 和两个指针,最多包含2d-1 个key 和2d 个指针。key 和指针互相间隔,节点两端是指针。 - 叶子节点的指针均为
null ,所有子叶节点具有相同的深度,等于树高h 。
- 如果某个指针在节点
node 最左边且不为null ,则其指向节点的所有key 小于v(key1) ,其中v(key1) 为node 的第一个key 的值。 - 如果某个指针在节点
node 最右边且不为null ,则其指向节点的所有key 大于v(keym) ,其中v(keym) 为node 的最后一个key 的值。 - 如果某个指针在节点
node 的左右相邻key 分别是keyi 和keyi+1 且不为null ,则其指向节点的所有key 小于v(keyi+1) 且大于v(keyi) 。

由于
BTree_Search(node,key) {
if(node == null) returnnull;
foreach(node.key){
if(node.key[i]== key) return node.data[i];
if(node.key[i]> key) return BTree_Search(point[i]->node, key);
}
return BTree_Search(point[i+1]->node, key);
}
data =BTree_Search(root, my_key);
关于