B+树C++代码发布
代码:http://bluedog.download.csdn.net
没什么太多可以说的,B+树的c++模板实现,需要说明的一点是
1、枝干节点的关键字在每个叶子节点的最后一个
2、叶子节点中的Vals不是值集合,而是值指针集合,主要是减少移动时的拷贝时间
本来也想Keys也做也指针集合,但是会有一个问题,如果当做数据库的索引,它就必需调阅多个页
当然Keys是值集合也会有问题,对于字符串来作Key就会有对象拷贝的问题
因此我觉得要实现两种B+树,一种是值集合的,一种是值指针集合的,
对此有兴趣的朋友可以共同探讨,发邮件至 xtlxs1976@163.com
3、算法书上说B+树比B-树要简单,它认为被删除的Key仍可以保留在树枝干中,我觉得或许作为
磁盘或数据库的索引管理是合理的,但作为一个完整的算法B+树比B-树要复杂得多,比如删除一个KEY后的调整有八种情况,而B-树只阅读全文>
发表于 @ 2009年05月10日 22:00:00|评论(loading...)|编辑|举报|收藏