全国旗舰校区

不同学习城市 同样授课品质

北京

深圳

上海

广州

郑州

大连

武汉

成都

西安

杭州

青岛

重庆

长沙

哈尔滨

南京

太原

沈阳

合肥

贵阳

济南

下一个校区
就在你家门口
+
当前位置:首页  >  技术干货

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

发布时间:2021-12-31 15:38:00
发布人:qyf

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

相关文章

MySQL分布式集群数据是怎么存储的?

MySQL分布式集群数据是怎么存储的?

2023-10-13
es7怎么像mysql一样使用聚合查询?

es7怎么像mysql一样使用聚合查询?

2023-10-13
PHP的相关配置有哪些?

PHP的相关配置有哪些?

2023-10-13
PHP数组具的特性有哪些?

PHP数组具的特性有哪些?

2023-10-13

最新文章

常见网络安全面试题:Windows常用的命令有哪些?

常见网络安全面试题:Windows常用的命令有哪些?

2023-10-09
常见网络安全面试题:根据设备告警如何展开排查?

常见网络安全面试题:根据设备告警如何展开排查?

2023-10-09
常见网络安全面试题:mysql加固呢?(数据库加固)

常见网络安全面试题:mysql加固呢?(数据库加固)

2023-10-09
常见网络安全面试题:windows和linux加固?(操作系统加固)

常见网络安全面试题:windows和linux加固?(操作系统加固)

2023-10-09
在线咨询 免费试学 教程领取