美文网首页
快速排序法

快速排序法

作者: 刘志阳 | 来源:发表于2018-05-27 19:46 被阅读0次

1.理解分而治之的思路

可以简单的理解为找规律,递归其实也是找规律。

2.快速排序法思路

a.选第一个数作为标准,比它大的放右边,比它小的放左边

b.左边的小的和右边的大的,再重新按照a来重复执行,书中的列表式写的挺好,需要记住。

c.到啥时候停止重复呢?当里面的数字小于2时,也就是说只有一个或者没有的时候!

代码实现:

def quick(list):

  if len(list) < 2:

    return list[0]

  else:

    qq = list[0]

    less = [i for i in list[1:] if i < qq ]

    more = [i for i in list[1:] if i >= qq]

# 这里写法不错

    return list[less] + [qq] + list[more]

3.时间复杂度:

O(n*n)    这是最糟糕的情况

O(n*log n)  这是平均情况

相关文章

  • 排序算法总结

    选择排序法 插入排序法 冒泡排序法 归并排序法 自顶向下 自底向上 快速排序法 单路快速排序法 双路快速排序法 三...

  • iOS常见算法

    升序算法:用冒泡排序法 选择排序法 快速排序

  • 排序算法篇_快速排序法

      快速排序(Quick Sort)法和冒泡排序法类似,都是基于交换排序思想的。快速排序对冒泡排序法进行了改进,从...

  • 《python算法教程》Day9 - 快速排序法

    这是《python算法教程》第9篇读书笔记,笔记的主要内容为快速排序法。 快速排序法简介 快速排序法运用分治法的方...

  • 排序算法

    排序算法分类 排序算法常用主要有:冒泡排序法、快速排序法、选择排序法、插入排序法、堆排序法、归并排序法等几种。 ...

  • php实现几种常见的排序方法

    1. 冒泡排序法: 2. 选择排序法: 3.插入排序法: 4.快速排序法:

  • 3种排序

    冒泡排序 插入排序 快速排序法

  • js 常见排序算法(快速排序,选择排序等)

    快速排序法 选择排序 插入排序 冒泡排序

  • 常用的排序算法

    1. 冒泡排序: 2.快速排序法 3.插入排序法 4.选择排序法 5.归并排序法

  • 数组相关处理函数2

    冒泡排序法 快速排序法 数组排序函数 ksort 对数组按照键名排序 krsort 键名降序排序 asort 对数...

网友评论

      本文标题:快速排序法

      本文链接:https://www.haomeiwen.com/subject/oqlijftx.html