- 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.4)毕业设计
数据结构设计性实验报告课程名称数据结构实验题目名称B树(难度1.4)学生学院计算机学院专业班级学号姓名指导教师黄剑锋2015年06月25日B树抽象数据类型实现一、设计简介本次设计在AnyviewCL自由编程平台上实现了B树的6种基本操作,并根据这个基本操作设计了友好的交际界面,操作简单易懂,并在AnyviewCL自由编程平台上可视化测试B树各个基本操作,保证了各基本的操作算法的正确性。经在AnyviewCL自由编程平台严格测试后,将本设计移植到VisualC++6.0平台生成可运行程序,并进行各个基本操作的测试,保证了程序运行的稳定性。其中数据来源为一组在0~1000内的int型随机数,但数据由typedefintKeyType定义,若需要改变数据类型,只需要将int替换成所需的数据类型即可。二、抽象数据类型定义及各种基本操作的描述ADTBTree{数据对象:D是具有相同特征的数据元素集合。数据关系:若D为空集,则称为空树;(1)树中每个结点最多含有m棵子树;(2)若根结点不是叶子结点,则至少有2个子树;(3)除根结点之外的所有非终端结点至少有┌m/2┐棵子树;(4)每个非终端结点中包含信息:(n,A0,K1,A1,K2,A2,…,Kn,An)。其中:1)Ki(1=i=n)为关键字,且关键字按升序排序;2)指针Ai(0=i=n)指向子树的根结点,Ai-1指向子树中所有结点的关键字均小于Ki,且大于Ki-1;3)关键字的个数n必须满足:┌m/2┐-1=n=m-1。(5)所有的叶子节点都在同一层,子叶结点不包含任何信息。基本操作P:CreatBTree(T,n,m);初始条件:初始化关键字个数n大于等于0,B树的阶数m大于3小于等于20。操作结果:构建一棵阶数为m,含有n个关键字的B树。SearchBTree(T,k,p);初始条件:树T存在。操作结果:在m阶B树t上查找关键字k,返回(pt,i,tag)。InsertBTree(T,k,p-pt,p-i,m);初始条件:树T存在,p-pt指向T中某个结点操作结果:在B树T上结点p-pt的key[i]和key[i+1]之间插入关键字kDeleteBTree(p-pt,p-i,m,T);初始条件:树T存在,p-pt指向T中某个结点操作结果:删除B树T上结点p-pt的关键字kPrintBTree(T);初始条件:树T存在操作结果:中序遍历B树DestroyBTree(T)初始条件:树T存在操作结果:销毁B树}ADTBTree三、存储结构定义#includestdio.h#includestdlib.h#includetime.h#defineTRUE1#defineFALSE0#defineOVERFLOW-2#defineOK1#defineERROR0typedefintKeyType;typedefintStatus;typedefstruct{KeyTypekey;chardata;}Record;typedefstructBTNode{intkeynum;//结点中关键字个数,即结点的大小structBTNode*parent;//指向双亲结点KeyTypekey[21];//关键字向量,0号单元未用structBTNode*ptr[21];//子树指针向量Record*recptr[21];//记录指针向量,0号单元未用}BTNode,*BTree;//B树结点和B树的类型typedefstruct{BTNode*pt;//指向找到的结点inti;//1..m,在结点中的关键字序号inttag;//1:查找成功,0:查找失败}restype,*result;//在B树的查找结果类型四、关键算法设计流程图主函数:MAIN();功能:确定B树阶数与初始结点数,提供基本的菜单功能选择函数名:intSearchNode(BTreep,intk);功能:在节点中查找关键字,返回该关键字在节点中的位置。函数名:voidSearchBTree(BTreet,intk,resultSearchBTree);功能:在m阶B树t上查找关键码k,返回(pt,i,tag)。函数名:voidsplit(BTreeq,ints,BTreeap);功能:将结点q分裂成两个结点,前一半保留,后一半移入新生结点ap。函数名:voidnewroot(BTreet,BTreep,intx,BTreeap);功能:生成新的根结点。函数名:voidInsert(BTreeq,inti,intx,BTreeap);功能:将关键字ap分别插入到q-key[i+1]和q-ptr[i+1]中。函数名:voidInsertBTree(BTreet,intk,BTreeq,inti,intm);功能:在B树t上结点*q的key
您可能关注的文档
最近下载
- 吉林省中药软片炮制规范.pptx VIP
- 名著阅读《湘行散记》七年级语文上册部编版(共9页).docx VIP
- 《白洋淀纪事》阅读测试题含答案(推荐).docx VIP
- 必考名著《白洋淀纪事》导读+知识点汇总.pdf VIP
- CQJZDE-2008 重庆市建筑工程计价定额.docx VIP
- 人教部编版七年级语文上册名著选读《湘行散记》导读.doc VIP
- 重庆市建筑工程计价定额CQJZDE-2008.doc
- 部编版七上语文名著导读《朝花夕拾》、《白洋淀纪事》、《湘行散记》知识点练习(含答案).docx VIP
- 超星尔雅学习通《大学生劳动教育》章节测试含答案.docx VIP
- 七年级上册名著《湘行散记》知识点+习题(共12页).docx VIP
文档评论(0)