美文网首页
Python 排序算法之快速排序(1/8)

Python 排序算法之快速排序(1/8)

作者: Paycation | 来源:发表于2018-05-10 22:09 被阅读95次

快速排序 quick sort

一共有8大排序算法,不能一口吃个胖子,我一个算法写一个博客。
原理:随机取一个数,然后把小于这个数的数放在一边,大于这个数的数放在另一边。对两边的数重复这个操作,直到两边的数只剩一个。
思考:产生一个中间结果,然后继续对中间结果进行重复操作,直到达到某个条件。那么可以看出这里要用到递归。

def quick_sort(lst):
    less = []
    greater = []
    if not lst:   # lst 为空时不再递归
        return lst
    el = lst.pop() # 吐出最后一项
    for i in lst: # 和剩余的未吐出的项比较
        if i < el:
            less.append(i)
        else:
            greater.append(i)
    return quick_sort(less) + [el] + quick_sort(greater)
    # [el] 记得要用 list,因为元素不能直接和 list 进行 + 操作。

相关文章

  • Python排序算法有哪几种?

    python排序算法有哪些?python中常见的排序算法有:插入排序、选择排序、冒泡排序、快速排序、归并排序、希尔...

  • 七大排序算法之快速排序

    七大排序算法之快速排序 @(算法笔记)[排序算法, 快速排序, C++实现] [TOC] 快速排序的介绍: 快速排...

  • Python 排序算法之快速排序(1/8)

    快速排序 quick sort 一共有8大排序算法,不能一口吃个胖子,我一个算法写一个博客。原理:随机取一个数,然...

  • python 排序算法

    文章概述 介绍各大常用经典的排序算法和效率,以及python实现常用算法(冒泡排序,选择排序,快速排序,插入排序)...

  • JS实现排序算法

    原文:常见排序算法之JavaScript实现 - 知乎 目录 冒泡排序 选择排序 插入排序 合并排序 快速排序 1...

  • 2018-07-03

    排序算法之快速排序 快速排序算法由于排序效率在同为O(N*logN)的几种排序方法中效率较高,因此经常被采用,再加...

  • Python实现程序员必备之排序算法汇总

    本文用Python实现了快速排序、插入排序、希尔排序、归并排序、堆排序、选择排序、冒泡排序共7种排序算法。 一、快...

  • 11、【排序】快速排序(1)

    1、概述 快速排序(Quick Sort)是一种高级排序算法。 快速排序算法相对来说比较复杂,因为快速排序算法所延...

  • LeetCode大全

    1.常见排序算法: 常见的排序算法:冒泡排序、选择排序、插入排序、归并排序、快速排序、希尔排序、堆排序、计数排序、...

  • 1.2-交换排序-快速排序

    参考链接 交换排序:快速排序(Quick Sort) 白话经典算法系列之六 快速排序 快速搞定 快速排序是C.R....

网友评论

      本文标题:Python 排序算法之快速排序(1/8)

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