作业 4 查找结构与排序方法
(以下两个作业题,二选一)
作业题目 1:AVL 树的设计与实现
AVL 树 AVL 树作为一种基本的查找(搜索)结构,是一种自平衡二叉查找
树。在 AVL 树中任何结点的两个子树的高度最大差为 1,所以它也被称为高度
平衡树。插入和删除操作可能需要通过一次或多次旋转操作来重新平衡这棵树。
AVL 树得名于它的发明者 G. M. Adelson-Velsky 和 E. M. Landis,他们在 1962 年
的论文《An algorithm for the organization of information》中发表了它。本次作业
要求设计 AVL 树存储结构,并实现 AVL 树建立(插入)、删除和查找算法,
并反映插入和删除操作算法的各种旋转变化。
作业要求:
1.设计 AVL 的左右链存储结构;
2.实现 AVL 左右链存储结构上的插入(建立)、删除、查找和排序算法。
3.测试数据以文件形式保存,能反映插入和删除操作的四种旋转,并输出相应
结果。
-------------------------------------------------------------------------------------------------------
作业题目 2:利用败者树实现锦标赛排序(树形选择排序)
败者树实际上是一棵完全二叉树,可以看作是胜者树的一种变体。败者树
简化了重构,败者树的重构只是与该结点的父结点的记录有关,而胜者树的重构
还与该结点的兄弟结点有关。败者树作为一种重要的数据结构,用于树形选择排
序和外部排序。本作业要求设计败者树的存储结构,并实现树形选择排序算法。
作业要求:
1.设计败者树的存储结构;
2.利用败者树实现锦标赛排序,主要包括:(1)败者树的初始化算法;(2)
败者树的构建算法;(3)败者树的重构算法;(4)标赛排序算法。
3.测试数据以文件形式保存,数据规模 n 可以是任何整数,即对 n 不是 2 的整
数幂的情况也可以处理,且尽量地节约辅助存储空间开销。
作业说明:
1.上传内容:(1)源程序代码;(2) 实验数据和实验结果数据
评论0
最新资源