数据结构课程设计说明书B树查找的实现

上传人:M****1 文档编号:458058806 上传时间:2023-05-16 格式:DOC 页数:29 大小:187.50KB
返回 下载 相关 举报
数据结构课程设计说明书B树查找的实现_第1页
第1页 / 共29页
数据结构课程设计说明书B树查找的实现_第2页
第2页 / 共29页
数据结构课程设计说明书B树查找的实现_第3页
第3页 / 共29页
数据结构课程设计说明书B树查找的实现_第4页
第4页 / 共29页
数据结构课程设计说明书B树查找的实现_第5页
第5页 / 共29页
点击查看更多>>
资源描述

《数据结构课程设计说明书B树查找的实现》由会员分享,可在线阅读,更多相关《数据结构课程设计说明书B树查找的实现(29页珍藏版)》请在金锄头文库上搜索。

1、武汉理工大学数据结构课程设计说明书B+树查找的实现摘要.1引言.1.1 B+树的定义.1.2 B+树的举例.2需求分析.2.1 系统应具备的功能.2.2 测试计划.3数据结构设计. 3.1结点类. 3.2 方便操作的队列.3.3将叶子结点链在一起的链表.4算法设计. 4.1 B+树插入算法. 4.1.1 插入算法设计. 4.1.2插入代码的实现. 4.1.2.1 将元素插入到树中. 4.1.2.2搜索整个树,找到插入的位置. 4.1.2.3 将关键字以及其子树插入this结点. 4.1.2.4若结点个数过多分裂该节点. 4.2 B+树删除算法. 4.2.1删除算法设计. 4.2.2删除代码的实

2、现. 4.2.2.1从B+树中删除关键字. 4.2.2.2搜索该删除的位置返回结点指针. 4.2.2.3在this中删除某关键字. 4.2.2.4若关键字太少,合并. 4.3 B+树查找. 4.3.1查找算法的设计. 4.3.2查找代码的实现. 4.3.2.1基于叶子链的查找. 4.3.2.2基于根的查找. 4.4 B+树的显示. 4.4.1 B+树显示设计. 4.4.2 B+树显示代码的实现. 4.4.2.1打印整个树. 4.4.2.2 打印某结点. 4.5 其他函数. 4.5.1 时间随机创建B+树. 4.5.2创建完整个树后把叶子结点链起来. 4.6 main函数的实现.5设计体会以及技

3、术讨论.6参考文献.7结束语.摘要:B+树是一种树数据结构,常见于数据库与档案系统之中。B+树能够使资料保持有序,并拥有均匀的对数处理时间的插入和删除动作。建立一棵B+树,实现B+树的查找等相关操作,输出结果;关键字:B+树,插入,删除,查找,输出1引言 实时数据库系统是开发实时控制系统、数据采集系统、cims系统等的支撑软件。其中,数据库系统大部分基于B+树来实现。B+树是为文件系统而提出一种B-树的变型树,是一种平衡的多路查找树,在文件系统中有所应用。主要用作文件的索引。利用它查找信息快速,方便数据以及文件的管理。创建B+树,实现其基本插入,删除,两种查找,输出。 1.1 B+树的定义B树

4、是应文件系统所需而出的一种B-树的变型树。一棵m阶的B树和m阶B-树的差异在于: 1有n棵子树的结点中含有n个关键字。 2所有的叶子结点中包含了全部关键字的信息,及指向含这些关键字记录的指针,且叶子结点本身依关键字的大小自小而大顺序链接。 3所有的非终端结点可以看成是索引部分,结点中仅含其子树(结点)中的最大(或最小)关键字。 通常在B树上有两个头指针,一个指向根结点,一个指向关键字最小的叶子结点。 1.2 B+树的举例2需求分析:2.1 系统应具备的功能 1 创建一棵B+树 2 实现B+树的插入结点操作3 实现B+树的删除结点操作4 实现B+树的两种查找,输出结果5 实现B+树的显示操作2.

5、2 测试计划时间随机产生几棵B+树,然后显示结果,实现数据的插入,删除,两种查找等操作,并显示结果。3 数据结构设计:3.1结点类class BTreepublic:int n; /该节点所含关键字的个数 大于等于2BTree *father;static int number;/阶数 大于等于3static BTree *root;BTree();int *data;BTree *down;static bool inserttree(int t);/在树中插入tstaticBTree* searchinsert(int t);/搜索插入到某节点bool insertpoint(int t,

6、BTree *p);/在节点插入void split(int t,BTree *p); /分裂static void treedel(int t);void delpoint(int t);static BTree*searchdel(int t);/搜索删除某节点void combine();static deep; /深度static void deletetree();int *x; /存储各层的结点数int BTree:number=4;int BTree:deep=0;BTree *BTree:root=NULL;BTree:BTree() /创建一个节点data=new intnumber;down=new BTree*number;for(int i=0;inumber;i+)datai=0;downi=NULL;father=NULL;n=0;3.2 方便操作的队列为了实现显示,链接操作自定义了一种特殊的队列,该队列以BTree指针和结点深度为队列元素,入队正常操作,出队时判断是否为叶子结点,如果不是叶子结点则把它的全部孩子结点入队;class duipublic :Btree * data200; /元素

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 医学/心理学 > 基础医学

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号