qt iar工程树 实现_[内附完整源码和文档] 基于Qt实现的B-树演示程序

1.题目
从空树出发构造一颗深度至少为 3(不包括失误结点)的 3 阶 B-树(又称 2-3 树)并 可以随时进行查找、插入、删除等操作。

要求:能够把构造和删除过程中的 B-树随时显示输出来,能给出查找是否成功的有 关信息。

2.软件功能
本软件作为数据结构中“B-树”的实现和演示软件,做到以下功能:

在软件运行时内部维护一个“B-树”的数据结构,可以对其进行增加、修改、删除 结点的操作,并在程序运行完成后自行释放

软件应实现一个 GUI(Graphic User Interface,图形用户界面)能够适时显示 B-树 经过改动后的结构

软件的 GUI 应提供给用户对于 B-树进行上述操作的接口(按钮、文本框),以便用 户输入。用户通过输入给出指令后,软件应执行用户的指令,并在对 B-树修改 后给出显示反馈

3.设计思想
本软件的体系结构为 MVC(Model-View-Controller)式,具体分“图形用户界面”和 “内部数据结构和算法”两部分。

3.1 图形用户界面的设计思想
图形用户界面包括 Model 和 Controller 的部分。

由于本软件基于 Qt 平台,因此可以利用 Qt 提供的图形用户界面库中的类(QWidget 等)来实现图形界面。

本软件设计时优先考虑 Microsoft Windows 等 PC 平台,故 GUI 的设计是窗口式的。 GUI 包括:

提供给用户的指令按钮

指令配套的参数的输入框

实时显示树结构的显示区域

对于 B-树的打印,由于显示空间有限而树的构造可以无限,故不采用直接的图形来 打印 B-树。Qt 提供了一个名叫 QTreeView 的控件,能以类 Windows 下文件目录结构的方 式展示树结构的内容,具有层次性强、延展性强、易于实现的特点,故采用 QTreeView 来显示树。

3.2 数据结构和算法的设计思想
本软件只涉及 B-树这一种数据结构。 在 B-树上,有“添加键值”、“删除键值”、“查找键值”三个算法。其中,添加键值算法用到了结点分裂算法、删除键值算法用到了结点合并以及关键字不足的结点的补全算 法。它们均为纯粹基于 B-树的算法。

除此之外,为使 GUI 能打印该 B-树,另有一个将 B-树映射为 QTreeView 下具有层次 的 QStandardItem(Model)对象的显示算法。

7cf173a37ffb8e1a6638f4633d683e46.png

661a629d98e64c3f1e8146265c8aa0f2.png

完整的源码和详细的文档,上传到了 WRITE-BUG技术共享平台 上,需要的请自取:

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值