[源码和文档分享]基于C语言的B-树的实现

1 软件结构设计

1.1 软件功能结构

用下图所示的方式描述软件的功能结构。

1.1.1 B-树的查找

B-树的查找过程:根据给定值查找结点和在结点的关键字中进行查找交叉进行。首先从根结点开始重复如下过程:

若比结点的第一个关键字小,则查找在该结点第一个指针指向的结点进行;若等于结点中某个关键字,则查找成功;若在两个关键字之间,则查找在它们之间的指针指向的结点进行;若比该结点所有关键字大,则查找在该结点最后一个指针指向的结点进行;若查找已经到达某个叶结点,则说明给定值对应的数据记录不存在,查找失败。

1.1.2 B-树的插入

插入的过程分两步完成:

利用前述的B-树的查找算法查找关键字的插入位置。若找到,则说明该关键字已经存在,直接返回。否则查找操作必失败于某个最低层的非终端结点上

判断该结点是否还有空位置。即判断该结点的关键字总数是否满足n<=m-1。若满足,则说明该结点还有空位置,直接把关键字k插入到该结点的合适位置上。若不满足,说明该结点己没有空位置,需要把结点分裂成两个

参考文档和完整的文档和源码下载地址:

https://www.write-bug.com/article/1678.html

你可能感兴趣的:([源码和文档分享]基于C语言的B-树的实现)