Python培训教程分享:Python中的排序算法你都了解多少?
Python是属于数据分析一类用的比较多的,在Python技术工作中,我们最常见的就是一些项目都需要涉及到排序,排行榜是最常见的,排序方法可以递增,也可以递减,这全看编程人员如何编写,那关于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技术非常感兴趣,可以来了解一下千锋教育提供的Python培训课程,千锋教育在全国20多所城市均设有教学基地,欢迎同学们前来咨询了解。