堆排序是什么排序,python中的排序

  堆排序是什么排序,python中的排序

  1、概念

  堆排序是高效排序算法的另一个例子。它的主要优点是不管输入数据如何,最坏情况下的运行时间都是O(n*logn)。

  顾名思义,堆排序很大程度上依赖于堆数据结构的常见实现:——优先级队列。

  毫无疑问,堆排序是一种简单的排序算法,与其他简单的实现相比,堆排序更加有效和通用。

  2、工作原理

  就是把元素从堆里一个一个的“移除”,添加到排序后的数组里。在进一步解释和重温堆数据结构之前,我们应该知道堆排序本身的一些性质。

  它是一种在位算法(译者注:在位算法,大部分翻译为“在位算法”,少数也翻译为“在位算法”。该算法使用少量固定的额外内存空间来转换数据。),也就是说它需要的内存量是恒定的,也就是说需要的内存并不取决于初始数组本身的大小,而是取决于存储数组所需的内存。

  比如不需要原数组的副本,不需要递归和递归调用栈。最简单的堆排序实现通常使用第二个数组来存储排序后的值。我们将使用这种方法,因为它更直观,更容易在代码中实现,但它也是一种100%的就地算法。

  堆排序是不稳定的,这意味着相等的值没有相同的相对顺序。对于整数、字符串等基本类型,不会出现这种问题,但我们在对复杂类型的对象进行排序时可能会遇到。

  这就是python堆排序的介绍。希望能帮到你。更多Python学习指南:python基础教程

  本教程运行环境:windows7系统,Python 3.9.1,DELL G3电脑。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: