老男孩教育专注IT教育10余年,只培养IT技术精英

全国免费咨询电话(渠道合作):400-609-2893

Python中的排序算法你都了解多少?老男孩Python学习

老男孩IT教育

行业新闻

2021年12月28日 15:48

在编程过程中,不少场景、项目需要涉及到排序,最常见的功能就是排行榜了,排序方法可以递增,也可以递减,这全看编程人员如何编写,那你知道Python中的排序方法都有哪些吗?请看下文:

       在编程过程中,不少场景、项目需要涉及到排序,最常见的功能就是排行榜了,排序方法可以递增,也可以递减,这全看编程人员如何编写,那你知道Python中的排序算法都有哪些吗?请看下文:

python培训机构

       | 常见的时间复杂度有哪些?

       常数阶O(1)、对数阶O(log2n)、线性阶O(n)、线性对数阶O(nlog2n)、平方阶O(n²)、立方阶O(n³)、K次方阶O(n^k)、指数阶O(2^n)。

       【冒泡排序】---算法描述

       ① 将相邻的元素进行比较,如果第二个比第一个大,则互换;

       ② 每个相邻元素重复同样的工作,做完后,可以确定最后的元素是最大的值;

       ③ 除最后一个外,所有的元素重复以上步骤;

       ④ 持续对越来越少的元素重复上面的步骤,直到没有元素需要比较。

       【选择排序】---算法描述

       是一种简单直观的排序算法,工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,继续放在起始位置知道未排序元素个数为0。

       【插入排序】---算法描述

       将初始数据分为有序部分和无序部分,每一步将一个无序部分的数据插入到前面已经排好序的有序部分中,直到插完所有元素为止。

       【希尔排序】---算法描述

       是基于插入排序改进后的算法,因为当数据移动次数太多时会导致效率低下。所以我们可以先让数组整体有序(刚开始移动的幅度大一点,后面再小一点),这样移动的次数就会降低,进而提高效率。

       【归并排序】---算法描述

       ① 申请空间,使其大小为两个已经排序序列之和,该空间用来存放合并后的序列;

       ② 设定两个指针,最初位置分别为两个已经排序序列的起始位置;

       ③ 比较两个指针所指向的元素,选择相对小的元素放入到合并空间,并移动指针到下一位置;

       ④ 重复步骤3直到某一指针达到序列尾;

       【快速排序】---算法描述

       ① 从数列中取出一个数作为基准数;

       ② 分区,将比它大的数全放到它的右边,小于或等于它的数全放到它的左边;

       ③ 再对左右区间重复第二步,直到各区间只有一个数;

       关于"Python中的排序算法你都了解多少?"的话题到这里就结束了,老男孩教育是Python培训领域的专家,2012年就开展了Python培训课程,是行业内较早的Python培训机构,积累了大量的Python培训教学经验,并能全局把控企业用人指标,让学员轻松拿下高薪职位!

  推荐阅读:

  Python的五大特性分别都有哪些?老男孩Python培训班

  Python培训班_Python语言支持哪几种编程方式?

  开发过程中经常使用到的5种设计模式有哪些?老男孩Python培训机构

本文经授权发布,不代表老男孩教育立场。如若转载请联系原作者。