Python中的排序算法你都了解多少?老男孩Python学习
老男孩IT教育
行业新闻
2021年12月28日 15:48
在编程过程中,不少场景、项目需要涉及到排序,最常见的功能就是排行榜了,排序方法可以递增,也可以递减,这全看编程人员如何编写,那你知道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培训教学经验,并能全局把控企业用人指标,让学员轻松拿下高薪职位!
推荐阅读:
