ch10_ex35 满足完全三叉树的…
来源:互联网 发布:修改https默认端口 编辑:程序博客网 时间:2024/04/28 11:48
10.35③ 假设定义堆为满足如下性质的完全三叉树:
(1) 空树为堆;
(2) 根结点的值不小于所有子树根的值,且所有子树
编写利用上述定义的堆进行排序的算法,并分析推导
算法的时间复杂度。
实现下列函数:
void HeapSort(HeapType &h);
堆(顺序表)的类型HeapType定义如下:
typedef char KeyType;
typedef struct {
} RedType;
typedef struct {
} SqList, HeapType;
比较函数和交换函数:
Status LT(RedType a, RedType b)
Status GT(RedType a, RedType b)
void Swap(RedType &a, RedType&b)
答案以及解析:
void HeapAdjust(HeapType &h,int s,intm);
void HeapSort(HeapType &h)
{
}
void HeapAdjust(HeapType &h,int s,int m)
{
//已经是当前最大值则保留,循环结束,否则寻找子树中最大值,并腾空位置
}
堆排序方法对记录较少的文件并不值得提倡,但对n较大的文文件还是很有效的。因为其运行时间主要耗费在建初始堆和调整建新堆时进行的反复筛选上。
0 0
- ch10_ex35 满足完全三叉树的…
- Company A面试 笔试 : 完全二叉树,三叉树的最小公共父节点问题
- 完全三叉树解决长方形容器中光源反射点遍历的问题
- 二叉树的三叉存储
- 三叉树的完整操作
- Nginx location的配置-----三叉排序树
- 视图的三叉切分
- 优化的三叉哈夫曼树
- 三叉哈夫曼树的分析
- 转载:三叉树
- 我写的二叉树(采用了三叉链表)
- 三叉树解2011年度最变态的迷宫难题
- 我的第一个小算法~(三叉树、队列)
- 数据结构:二叉树的三叉链表存储--Java实现
- 二叉树的三叉链表存储及其Java实现
- 二叉树的三叉链表存储结构
- 二叉树的三叉链表存储(java实现)
- Java基础 - 二叉树的三叉链表存储
- ch10_ex26 冒泡排序 用i…
- ch10_ex32 荷兰国旗问题
- HDU1061-Rightmost Digit(快速幂取模)
- ifttt转发
- ch10_ex34 从p=1起,逐个插入建堆
- ch10_ex35 满足完全三叉树的…
- ch10_ex42 序列的"中值记录"…
- ch10_ex43 c[i]记录比a[i]关…
- ch01_ex16 如果三个整数X,Y…
- ch01_ex17 求k阶裴波那契序列…
- C/C++中extern关键字详解
- ch09_ex44 编写按第一个字母…
- ch09_ex45 用链地址法处理冲…
- 学习使用头文件卫士