排序算法及MATLAB实现.pptVIP

  • 16
  • 0
  • 约4.25千字
  • 约 40页
  • 2023-09-05 发布于湖北
  • 举报
A * 7、堆排序 问题:如何在输出堆顶元素后,调整剩余元素为一个新的堆? 解决方案:输出堆顶元素之后,以堆中最后一个元素替代之,然后重新构建堆。 A * 7、堆排序 例题:用堆排序将序列{20,60,26,30,36,10}调整为递增序列。 (1)构建小根堆 A * 7、堆排序 (2)提取堆顶10,并用最后一个元素替换堆顶,重新构建小根堆。 A * 7、堆排序 (3)提取堆顶20,并用最后一个元素替换堆顶,重新构建小根堆。 A * 7、堆排序 (4)提取堆顶26,并用最后一个元素替换堆顶,重新构建小根堆。 A * 7、堆排序 (5)提取堆顶30,并用最后一个元素替换堆顶,重新构建小根堆。 (6)提取堆顶36,剩余一个数60,提取60。 A * 8、计数排序 排序原理:利用哈希的方法,将每个数据出现的次数都统计下来。哈希表是顺序的,所以我们统计完后直接遍历哈希表,将数据再重写回原数据空间就可以完成排序。 A * 8、计数排序 对一组数据进行排序做出图解: A * 8、计数排序 MATLAB代码 X=[1,9,6,6,3,11,3,12,18]; x=max(X); Y=[]; for i=0:x a=find(X==i); if isempty(a)==1 continue else b=size(a,2)

文档评论(0)

1亿VIP精品文档

相关文档