堆排序的图解过程与其他比较排序算法视频地址

首先可以看到堆建好之后堆中第0个数据是堆中最大的数据。取出这个数据再执行下堆的删除操作。这样堆中第0个数据又是堆中最大的数据,重复上述步骤直至堆中只有一个数据时就直接取出这个数据。 由于堆也是用数组模拟的,故堆化数组后,第一次将A[0]与A[n - 1]交换,再对A[0…n-2]重新恢复堆。第二次将A[0]与A[n – 2]交换,再对A[0…n - 3]重新恢复堆,重复这样的操作直到A[0]与A[1]交换。由于每次都是将最大的数据并入到后面的有序区间,故操作完成后整个数组就有序了。

堆排序的图解过程如下:


堆排序的时间复杂度是O(nlogn)。堆排序和选择排序的元素比较次数与元素的初始排列无关。
 
其他排序算法的理解可以查看如下地址的以舞蹈方式教学的视频:
选择排序:http://v.youku.com/v_show/id_XMjU4NTY5NTcy.html
冒泡排序:http://v.youku.com/v_show/id_XMjU4MTg3MTU2.html
插入排序:http://v.youku.com/v_show/id_XMjU4NTY5MzEy.html
希尔排序:http://v.youku.com/v_show/id_XMjU4NTcwMDIw.html
归并排序:http://v.youku.com/v_show/id_XMzMyODk5Njg4.html
快速排序:http://v.youku.com/v_show/id_XMzMyODk4NTQ4.html
 
其中冒泡排序、插入排序、归并排序是稳定排序。插入排序和归并排序是节俭排序。
冒泡排序和快速排序属于交换排序。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值