- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
B-树课程设计
课程设计成果
学院: 班 级:
学生姓名: 学 号:
设计地点(单位)设计题目: 完成日期: 年 月 日
指导教师评语:
成绩(五级记分制):
教师签名:
目 录
1 需求分析 1
1.1 系统目标 1
1.2 主体功能 1
1.3 开发环境 1
2概要设计 1
2.1 功能模块划分 1
2.2 系统流程图 2
3 详细设计 3
3.1 数据结构 3
3.2 模块设计 4
4 测试 7
4.1测试数据 7
4.2测试结果 7
5 总结 10
参考文献 11
附录 源程序代码 12
1 需求分析
1.1 系统目标
完成B-树的创建、查找、插入和删除。
1.2 主体功能
B-Trees是一类满足特殊条件的M路查找树,它满足如下两个条件的M路查找树:
1.所有叶节点的高度相同。
2.除根之外的所有节点都是半满的,即该节点包含M/2或更多的值。
3.树中每个节点都至多有M棵树。
4.所有的叶子节点都出现在同一层,并且不带信息。
5.所有的非终端节点中包含下列信息:
(n,A[0],K[1],A[1],K[2],A[2]K[3],A[3]…….K[n],A[n])
其中:K[i]为关键字,且K[i]K[i+1];A[i]为指向自树的指针,且A[i-1]所指子树中所有的节点的关键字均小于K[i],A[n]所指子树中所有节点的关键字均大于K[n],n为关键字的个数。
1.设计并实现B-Trees数据结构,包含其上的基本操作,如节点的插入和删除等。
2.实现在B-trees树上的查找操作。
3.设计良好的运行界面,能够实现重复的操作。
1.3 开发环境
开发系统:Windows 系统,处理器要求最低奔腾处理器,内存32m,建议在i5处理器,128m内存配置下调试。
编译集成软件:Devc++开发软件。
Devc++是一个强大的C/C++软件开发工具,操作简单,使用非常广泛,称为很多程序员的首选开发工具。
2概要设计
2.1 功能模块划分
主函数即main()函数,主要实现B-Trees的建立,建立一棵满足要求的4节B-Trres树。
菜单介绍函数即meau()函数,主要包括介绍各个功能的实现途径,并给操作者提供个操作界面。
插入元素函数即insertbtree(b)函数,主要有用户通过界面输入要插入的元素,首先判断要插入的元素是否已在B-Trees中,若不在则插入之。
删除函数即deletetree(b)函数,首先判断要删除的元素是否在B-Trees中若在该B-Trees中则删除。
查找函数即searchbtree(b)函数,由用户通过界面输入一个元素,查找该元素是否在该B-Trees中,若在就输出它在节点的位置。
图2.1 主函数流程图
2.2 系统流程图
B-树的主程序流程如图2.2所示
图2.2 主程序流程图
B-树的主程序流程如图2.3所示
图2.3 主程序流程图
3 详细设计
3.1 数据结构
B-树的数据类型:
typedef struct BTNode
{
int keynum; //结点中关键字的个数,即结点的大小
struct BTNode *parent; //指向双亲指针
int key[m+1]; //关键字向量
struct BTNode *ptr[m+1]; //子树指针向量
}BTNode
3.2 模块设计
B-树插入新元素模块如图3.2所示。
图3.2 B-树插入元素函数流程图
B-树删除元素模块如图3.3所示。
图3.3 B-树删除元素函数流程图
B-树查找模块如图3.4所示。
图3.4 B-树查找元素模块流程图
B-树查找模块如图3.4所示。
图3.5 B-树查找元素模块流程图
4 测试
4.1测试数据
图表1
序号 数据内容 说明 显示截图 1 3 查找,要查元素在B-树中 图 4.2 2 5 查找,要查元素不在B-树中 图 4.3 3 32 插入,插入元素不在B树中 图 4.4 4 42 插入,插入元素在B-树中 图 4.5 5 61 删除,删除元素在B-树中 图 4.6 6 51 删除,删除元素不在B-树中 图 4.7 4.2测试结果
界
原创力文档


文档评论(0)