专栏首页Python编程大咖Python编程干货,送给小白程序员的,三个常用排序算法

Python编程干货,送给小白程序员的,三个常用排序算法

Python越来越火热,也有越来越多的朋友进入这个行业,今天,就给大家介绍一下,Python编程中的三个常用的排序算法。

一、归并排序

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

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

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

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

将另一序列剩下的所有元素直接复制到合并序列尾。

二、快速排序

1、从数列中挑出一个元素,称为 “基准”(pivot);

2、重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作;

3、递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序;

三、堆排序

1、从数列中挑出一个元素,称为 “基准”(pivot);

2、重新排序数列,所有元素比基准值小的摆放在基准前面,所有元素比基准值大的摆在基准的后面(相同的数可以到任一边)。在这个分区退出之后,该基准就处于数列的中间位置。这个称为分区(partition)操作;

3、递归地(recursive)把小于基准值元素的子数列和大于基准值元素的子数列排序;

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Python大神完成王者荣耀助手助力菜鸟,网友评论:不用担心被喷了

    这个时候运行会有一些问题,seek_weapon函数还没有定义,接下来定义seek_weapon,代码如下:

    Python编程大咖
  • 纯技术案例,用Python爬取网络小说,为所欲为拒绝书荒

    作为一个“文化人“的小编,一直也有看网络小说的习惯,最近在网上看到一个技术大牛用Python抓取网络小说,实在难掩羡慕之意,今天小编也来分享一下吧。

    Python编程大咖
  • AI合成主播“新小萌”上岗,人工智能真的能取代人类吗,大量案例

    近日,中国首个AI合成的主播上岗,她的名字叫“新小萌”,目前已播报新闻3400余条。

    Python编程大咖
  • 算法学习笔记(五):快速排序和简单选择排序

    free赖权华
  • Vuex-安装 原

    Unpkg.com 提供了基于 NPM 的 CDN 链接。以上的链接会一直指向 NPM 上发布的最新版本。您也可以通过 https://unpkg.com/vu...

    tianyawhl
  • VisualStudio 怎么使用Visual Leak Detector

    那么在Windows下有什么好的内存泄漏检测工具呢?微软提供Visual Studio开发工具本身没有什么太好的内存泄漏检测功能,我们可以使用第三方工具Visu...

    hbbliyong
  • CSS一个div内两个子元素的高度自适应

    3-1-2019更新:使用flex布局,align-items:flex-start即可。

    gojam
  • CentOS7下安装PostgreSQL12

    PostgreSQL是一个功能强大的开源数据库系统。经过长达15年以上的积极开发和不断改进,PostgreSQL已在可靠性、稳定性、数据一致性等获得了业内极高的...

    yuanfan2012
  • C# dotnet 将 Stream 保存到文件的方法

    这里的 inputStream.Seek(0, SeekOrigin.Begin); 不一定需要,请根据你自己的需求,如你只需要将这个 Stream 的从第10...

    林德熙
  • CSS入门10-替换元素和非替换元素,块级元素和行内元素

    (注1:如果有问题欢迎留言探讨,一起学习!转载请注明出处,喜欢可以点个赞哦!) (注2:更多内容请查看我的目录。)

    love丁酥酥

扫码关注云+社区

领取腾讯云代金券

玩转腾讯云 有奖征文活动