标签目录:堆排序

以下是与标签 “堆排序” 相关联的文章

堆排序通过sink实现,动画演示,看不懂你砍我!

除了之前文章介绍的方法外,我们也可以通过sink的方式来排序,但是第一步都是相同的,保证堆有序   就是每次首位交换以后,把根目录上的元素下沉到应该在的位置,逻辑上比上一个方法要复杂一些:

 

堆排序动画演示,Python代码演示,看不懂你砍我!

堆排序,一个经典的算法,我们先看动画演示吧: 数组: [6,5,3,1,8,7,2] 首先,这个数组不是有序的,并且,不是每个根节点都大于子节点,所以,如果我们第一步是让这颗树变得规范一些:即让每个父节点都大于任意子节点(堆有序)   如何实现呢?其实,我们要做的就是找到所有的父节点,然后逐个遍历,让这些有子节点的父节点都变得根……