(1) 用平衡二叉排序树实现动态查找表
[问题描述]
使用平衡二叉排序树实现动态查找表抽象数据类型。
[基本要求]
定义平衡二叉排序树的存储结构,存储一个班级学生记录,并按照学生的姓名+学号作为关键字,并在定义的存储结构上实现二叉排序树的初始化、撤销、插入学生记录、查找指定的学生记录,删除学生记录、按照用户指定的条件搜索学生记录、按照姓名+学号有序输出所有元素的值等操作。其中在进行插入和删除结点时,应注意插入和删除是否影响了结点的平衡因子,应及时对结点进行调整。
[测试数据]
可将班级的学生数据作为测试数据进行测试。
[实现提示]
参照教材上对不平衡二叉排序树的调整算法设计程序。
(2) 图书管理
[问题描述]
图书管理基本业务活动包括:对一本书的采编入库、清除库存、借阅和归还等等。试设计一个图书管理系统,将上述业务活动借助于计算机系统完成。
[基本要求]
(1) 每种书的登记内容至少包括书号、书名、著者、现存量和总库存数量等五项。
(2) 作为演示系统,不必使用文件,全部数据可以都在内存存放。但是由于上述四项基本业务活动都是通过书号(即关键字)进行的,所以要用B树(2-3)对书号建立索引,以获得高效率。
(3) 系统应实现的操作及其功能定义如下:
①采编入库:新购入一种书,经分类和确定书号之后登记到图书账目中去。如果这种书在账中已有,则只将总库存量增加。
②清除库存:某种书已无保存价值,将它从入书账目中销毁。
③借阅:如果一种书的新存量大于0,则借出一本书,登记借阅者的图书证号和归还期限。
④归还:注销对借阅者的登记,改变该书的现存量。
⑤显示:以凹入表的形式显示B树。这个操作是为了调试和维护的目的而设置的。
[测试数据]
自行设计。B树由空树开始,每插入一个关键字后就显示B树的状态。
[实现提示]
实现B树的查找算法是基础。难点在于插入和删除一个图书书目时的插入和删除算法。借阅登记信息可以用链表链接在那本书的书目信息结点之后。
这两个有一个就行了,希望会的弟弟妹妹哥哥姐姐们能帮个忙,不胜感激~~~m-_-m
请做好后发到偶的邮箱里senoritacha@163.com 不胜感激~~~m-_-m