内存分类法的应用.docVIP

  • 9
  • 0
  • 约 19页
  • 2017-08-14 发布于安徽
  • 举报
目 录 1 引 言 1 1.1 问题的提出 1 1.2国内外研究的现状 1 1.3任务与分析 1 2 程序运行平台 2 3 总体设计 3 4 程序说明 4 5 模块分析 7 6系统测试 9 7 结论 12 1 引 言 1.1 问题的提出 堆积排序(Heapsort)是指利用堆积树(堆)这种资料结构所设计的一种排序算法,可以利用数组的特点快速定位指定索引的元素。 1991年计算机先驱奖获得者、斯坦福大学计算机科学系教授罗伯特·弗洛伊德(Robert W.Floyd)和威廉姆斯(J.Williams)在1964年共同发明了著名的堆排序算法( Heap Sort )在最坏情况下的时间复杂度也是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]交换,由此得到新的无

文档评论(0)

1亿VIP精品文档

相关文档