- 13
- 0
- 约6.31千字
- 约 13页
- 2018-03-05 发布于贵州
- 举报
算法与数据结构程设计报告参考
算法与数据结构程设计报告++6.0
三.目的和意义在最坏情况下的时间复杂度也是O(nlog2n),相对于快速排序来说,这是堆排序的最大优点基本思想堆排序利用了大根堆堆顶记录的关键字最大这一特征,使得在当前无序区中选取最大关键字的记录变得简单。先将初始文件R[1..n]建成一个大根堆,此堆为初始的无序区再将关键字最大的记录R[1](即堆顶)和无序区的最后一个记录r[n]交换,由此得到新的无序区r[1..n-1]和有序区[n],且满足[1..n-1].keys≤r[n].key。由于交换后新的根R[1]可能违反堆性质,故应将当前无序区[1..n-1]调整为堆。然后再次将[1..n-1]中关键字最大的记录[1]和该区间的最后一个记录R[n-1]交换,由此得到新的无序区[1..n-2]和有序区[n-1..n],且仍满足关系[1..n-2].keys≤r[n-1..n].keys,同样要将[1..n-2]调整为堆。直到无序区只有一个元素为止.Ilen i=0 输入a[I] i++ Temp=1;sum=0; Sum+temlen Sum+=tmp Tem*=2 打印“========”和“初使数组”字符 调用打印数组函数prnt() i=0 i=sum-1 调用建堆函数b
原创力文档

文档评论(0)