PHP前端开发

Python中实现堆排序算法的概念及代码

百变鹏仔 24小时前 #Python
文章标签 算法

了解堆排序算法的前提是要知道完全二叉树和堆数据结构。堆排序算法是将数组可视化为完全二叉树,因此也被称之为“堆”。

堆排序算法原理

1、根据最大堆属性,数据组中最大的项存储在根节点

2、去掉根元素,放到数组的末尾(第n个位置),把树的最后一项,放到空缺的地方。

3、将堆的大小减少1。

立即学习“Python免费学习笔记(深入)”;

4、再次堆化根元素

5、重复该过程,直到列表中的所有项目都被排序

Python实现堆排序算法

指定数组arr= 1 12 9 5 6 10def heapify(arr, n, i):      largest = i      l = 2 * i + 1      r = 2 * i + 2        if l