python中的快速排序算法的理解

快速排序的方法采用分治法,其原理是在已知数组中选取第一个数为基准数,接下来是排序过程,将比基准数小的数放到它左边,比基准数大的不动,然后经过一次排序,左边部分的数都比基准数小,右边的都比基准数大,然后对左右两边分别进行同样的排序。直到最后只剩下一个数字。

例:list=[6,8,-2,3,7,1,10]

1:根据上述方法以第一个index为排序的基准数,然后将列表中比它小的数都移动到左边,比它大的数不移动,得到一个新的列表[-2,3,1,6,8,7,10]

注意:它左边的数字还是保持了相对顺序,比如-2还是在3的左边。

2:通过一次排序之后,我们已经知道了在数字6的左边,都是比6小的数,在6的右边都是比6大的数,在排序过程中我们的基准数还是6,现在我们需要把6左右的数组分成两个子列表,即左[-2,3,1]和右[8,7,10],然后对这两个子列表重复上述排序,对[-2,3,1]同理进行排序可以得到[-2,3,1],此处,因为当前基准数为-2,而它右边的3和1都比它大,所以列表不变化,应重新定义新的基准数,定义右边第一个数为基准数,同理进行排序,比1小的数放到它左边,比1大的数放到它右边,得到[-2,1,3],其次,还需将[8,7,10]同理进行排序,得到[7,8,10],最后,得到[-2,1,3,6,7,8,10],排序完成。

def quick_sort(list_,start,end):

if start>=end:

return

cmp_index=start

for i in range(start+1,end):

if list_[i]

python快速排序算法没看懂_python中的快速排序算法的理解相关推荐

  1. python快速排序算法没看懂_你需要知道的九大排序算法【Python实现】之快速排序...

    五.快速排序 基本思想:  通过一趟排序将待排序记录分割成独立的两部分,其中一部分记录的关键字均比另一部分关键字小,则分别对这两部分继续进行排序,直到整个序列有序. 算法实现: ​ #coding: ...

  2. python class和def的区别_Python中class和def的理解

    class Cc(object): #class 是关键字(表示要开始创建类了),Cc是新建的类名称,object为类的继承,没有合适的继承类用object类,这是所有类最终会继承的类 def aa( ...

  3. ​【Python基础】一文看懂 Pandas 中的透视表

    作者:来源于读者投稿 出品:Python数据之道 一文看懂 Pandas 中的透视表 透视表在一种功能很强大的图表,用户可以从中读取到很多的信息.利用excel可以生成简单的透视表.本文中讲解的是如何 ...

  4. 迷失lost结局什么意思_《lost》《迷失》大结局,没看懂的进,详细讲解

    北京时间公园2010年5月24日,lost迷失终于迎来了完美大结局,没看懂的进来,我给你们细细讲解. 作为一个从第一季的第一集就开始追lost迷失的忠实观众,在历经5年多的时间和望穿秋水的等待后,美剧 ...

  5. 第46届icpc 沈阳 J-Luggage Lock(思维 + 爆搜 / 队友玄学出法, 还没看懂)

    第46届icpc 沈阳 J-Luggage Lock(思维 + 爆搜 / 队友玄学出法, 还没看懂) 题目来源:第46届icpc 沈阳 J-Luggage Lock 题意: 给出两个四位数的密码锁a和 ...

  6. Linux教程 第十一课 Linux进程管理及作业控制(几本没看懂)

    Linux教程 第十一课 Linux进程管理及作业控制(几本没看懂) ----------------------------------------------------------------- ...

  7. 新海诚没有参与制作的作品_由新海诚创作,却成为冷门的一部动漫,至今都没看懂...

    原标题:由新海诚创作,却成为冷门的一部动漫,至今都没看懂 由新海诚创作,却成为冷门的一部动漫,至今都没看懂.新海诚我们都很熟悉,他的作品<你的名字><天气之子>等等都给我们留下 ...

  8. 看懂施工图中的钢筋符号有什么小技巧吗?

    很多小伙伴在接触CAD的时候,最头疼的恐怕不是绘图而是看图吧,对此我也是深有体会.还记得在刚刚接触CAD的时候,一看到图纸汇总各式的符号就头痛,不过现在算是好多了.可能很多小伙伴都会有这样的疑问,怎么 ...

  9. Python基础_第3章_Python中的循环结构

    Python基础_第3章_Python中的循环结构 文章目录 Python基础_第3章_Python中的循环结构 Python中的循环结构 一.回顾分支练习题 1.判断是否为一个合法三角形 2.求世界 ...

  10. Python基础_第5章_Python中的数据序列

    Python基础_第5章_Python中的数据序列 文章目录 Python基础_第5章_Python中的数据序列 Python中的数据序列 一.字典--Python中的==查询==神器 1.为什么需要 ...

最新文章

  1. airtest自动化测试_自动化测试必备实用工具,帮你提高工作效率|Gitee项目推荐...
  2. python将object转换为float_将pandas系列类型从object转换为float64
  3. 连接(交叉连接、内连接、外连接、自连接)
  4. 负载均衡获取客户端IP
  5. linux中同步例子(完成量completion)
  6. 再看序列化与反序列化[转]
  7. linux 0644权限,Linux 中的权限 -- 0755 和 0644
  8. Session的常用场景
  9. 计算机游戏蜘蛛纸牌如何还原,经典PC纸牌游戏空当接龙、蜘蛛纸牌等登陆iOS/Android...
  10. 外部表改为内部表_2、从外部导入数据创建表(ACCESS图解操作系列)
  11. YACC(BISON)使用指南
  12. 网易有道最新力作 有道词典笔3 结构拆解
  13. 数据仓库之-历史数据存储方案
  14. java抢红包_Java 用Redis 实现抢红包功能
  15. 【数据可视化笔记】如何选择图表?
  16. Android渐变遮罩
  17. 用事实说话!AJAX应用程序开发七宗罪
  18. 5.4版本内核ufs设备信息查询方式
  19. 【Unity3D开发小游戏】《战棋小游戏》Unity开发教程
  20. DP4301— 国产 SUB-1G 高集成度无线收发芯片

热门文章

  1. TensorFlow 可用的数据增强
  2. 最全iOS数据存储方法介绍:FMDB,SQLite3 ,Core Data,Plist,Preference偏好设置,NSKeyedArchiver归档...
  3. 活动目录父子域用户迁移之:TFSSharePoint问题汇总(一)
  4. java CopyOnWriteArrayList的使用
  5. Android ROM 小白普及
  6. SQL Server数据库查询优化【转】
  7. Java中字符(串)和数值类型的转换
  8. java报数报到3的人_Java-n个人报数
  9. 大工20春计算机文化基础在线测试1,大工20春《计算机文化基础》在线测试1学习答题资料...
  10. Git 将本地项目上传到Github