首页 > 编程语言 > 详细

python基础--快速排序

时间:2019-11-02 23:58:54      阅读:136      评论:0      收藏:0      [点我收藏+]

1.快速排序

  快速排序是一种交换排序

  快速排序由C. A. R. Hoare在1962年提出。

  它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分:分割点左边都是比它小的数,右边都是比它大的数

  然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归进行,以此达到整个数据变成有序序列。

  详细的图解往往比大堆的文字更有说明力

  下面上图说明一下,不过这个动态图略显复杂,我也看得晕晕的

  技术分享图片

2.废话不多说,直接上代码

  

 1 # 递归实现  快排
 2 def quickSort(arr):
 3     if len(arr) <= 1:
 4         return arr
 5     mid = arr[len(arr) // 2]
 6     left, right = [], []
 7     arr.remove(mid)
 8     for item in arr:
 9         if item >= mid:
10             right.append(item)
11         else:
12             left.append(item)
13     return quickSort(left) + [mid] + quickSort(right)
14 
15 l2 =list(random.choices([x for x in range(100)],k=20))
16 print(l2=,l2)
17 l2=quickSort(l2)
18 print(l2=,l2)

 

python基础--快速排序

原文:https://www.cnblogs.com/jeffrey04118110/p/11784292.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!