B+树(b+ tree) ---- C语言实现
在索引界 B+ tree 无疑有着不可替代的地位, 其严格的平衡性使我们得意实现高效的查询。
在涉及到存储、索引的知识点都会涉及到B+ 树的应用,于是用C写了一个B+ tree 的版本。
B+ 树的内容请参照:
1. wikipedia
2. Interactive B+ Tree
参照书籍"Database System Concepts(sixth edition)" 中伪代码。
结点的key 是字符串指针类型;
支持B+ 树的插入、删除、查找、销毁、Bulk Loading (v2.0) 等操作。
详细代码请见:
1. B+树--C实现
bptree_v1.5.c
bptree_v2.0.c
2. Github
后续有待修改: Bulk Load 的支持; 字符串型Key值增加引用计数,避免字符串直接拷贝。
在涉及到存储、索引的知识点都会涉及到B+ 树的应用,于是用C写了一个B+ tree 的版本。
B+ 树的内容请参照:
1. wikipedia
2. Interactive B+ Tree
参照书籍"Database System Concepts(sixth edition)" 中伪代码。
结点的key 是字符串指针类型;
支持B+ 树的插入、删除、查找、销毁、Bulk Loading (v2.0) 等操作。
详细代码请见:
1. B+树--C实现
bptree_v1.5.c
bptree_v2.0.c
2. Github
后续有待修改: Bulk Load 的支持; 字符串型Key值增加引用计数,避免字符串直接拷贝。