选择排序和推排序

Posted 阿华code

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了选择排序和推排序相关的知识,希望对你有一定的参考价值。

选择排序就是重复“从待排序的数据中寻找最小值,将其与序列最左边的数字进行交换” 这一操作的算法。在序列中寻找最小值时使用的是线性查找。

选择排序和推排序

选择排序和推排序

选择排序和推排序

选择排序和推排序

选择排序和推排序

选择排序和推排序

选择排序和推排序

选择排序的时间复杂度也是O(n²),这里可以小小优化一下。

选择排序和推排序


堆排序的特点是利用了数据结构中的堆。在堆的树形结构中,各个顶点被称为“结点”(node),数据就存储在这些结点中。

选择排序和推排序

选择排序和推排序

选择排序和推排序

选择排序和推排序

选择排序和推排序

选择排序和推排序

选择排序和推排序

堆中最顶端的数据始终最小,所以无论数据量有多少,取出最小值的时间复杂度都 为 O(1)。另外,因为取出数据后需要将最后的数据移到最顶端,然后一边比较它与子结点数据 的大小,一边往下移动,所以取出数据需要的运行时间和树的高度成正比。假设数据量为 n,根据堆的形状特点可知树的高度为 log2n ,那么重构树的时间复杂度便为 O(logn)。添加数据也一样。在堆的最后添加数据后,数据会一边比较它与父结点数据的大 小,一边往上移动,直到满足堆的条件为止,所以添加数据需要的运行时间与树的高度 成正比,也是 O(logn)。

以上是关于选择排序和推排序的主要内容,如果未能解决你的问题,请参考以下文章

排序算法之选择排序(简单选择排序堆排序)

选择排序——堆排序

选择排序(简单选择排序堆排序的算法思想及代码实现)

选择排序归并排序快速排序。

❤️数据结构入门❤️(4 - 2)- 选择排序

排序算法6--选择排序--简单选择排序