堆排序

堆排序思想:
利用大根堆讨论堆排序。
1. 将待排序的序列装换成完全二叉树;
2. 从最后一个分支节点(至少有一个孩子)开始,比较该分支节点与其孩子的大小,将大值上移到分支节点的位置(若该分支节点比其孩子大,则不变);
3. 找到上一步所用到的分支节点的前一个分支节点,比较该分支节点与其孩子的大小,将大值上移到分支节点的位置(若该分支节点比其孩子大,则不变);
4. 重复步骤3,直到根节点。
5. 此时根节点就是待排序的序列中的最大值,将其取出,将最后一个叶子节点上移到根节点;
6. 重复步骤2,直到将所有元素取出,即排好序。

点赞