千锋教育-做有情怀、有良心、有品质的职业教育机构

手机站
千锋教育

千锋学习站 | 随时随地免费学

千锋教育

扫一扫进入千锋手机站

领取全套视频
千锋教育

关注千锋学习站小程序
随时随地免费学习课程

当前位置:首页  >  技术干货  > Python培训教程分享:Python中的排序算法你都了解多少?

Python培训教程分享:Python中的排序算法你都了解多少?

来源:千锋教育
发布人:qyf
时间: 2021-12-31 15:38:00 1640936280

  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多所城市均设有教学基地,欢迎同学们前来咨询了解。

tags:
声明:本站稿件版权均属千锋教育所有,未经许可不得擅自转载。
10年以上业内强师集结,手把手带你蜕变精英
请您保持通讯畅通,专属学习老师24小时内将与您1V1沟通
免费领取
今日已有369人领取成功
刘同学 138****2860 刚刚成功领取
王同学 131****2015 刚刚成功领取
张同学 133****4652 刚刚成功领取
李同学 135****8607 刚刚成功领取
杨同学 132****5667 刚刚成功领取
岳同学 134****6652 刚刚成功领取
梁同学 157****2950 刚刚成功领取
刘同学 189****1015 刚刚成功领取
张同学 155****4678 刚刚成功领取
邹同学 139****2907 刚刚成功领取
董同学 138****2867 刚刚成功领取
周同学 136****3602 刚刚成功领取
相关推荐HOT