# -*- coding: utf-8 -*-
def quicksort(array):
# 基线条件:为空或只包含一个元素的数组是“有序”的
if len(array) < 2:
return array
else:
pivot = array[0] # 递归条件
less = [i for i in array[1:] if i <= pivot] # 由所有小于基准值的元素组成的子数组
greater = [i for i in array[1:] if i > pivot] # 由所有大于基准值的元素组成的子数组
return quicksort(less) + [pivot] + quicksort(greater) # 小于大于基准值的子数组重新递归
print (quicksort([10, 5, 2, 3]))
python 快速排序实现
原创
©著作权归作者所有:来自51CTO博客作者gmHappy的原创作品,请联系作者获取转载授权,否则将追究法律责任
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
python实现【快速排序】(QuickSort)
python实现【快速排序】(QuickSort)算法原理及介绍快速排序的基本思想t)分为两个子串(sub-lists)。具体算法描
快速排序 排序算法 算法 python 递归 -
Python实现的快速排序
Python实现的快速排序
python -
Python实现快速排序(非递归实现)
快速排序同样也是分治的思想,核心依然是分而治之,各个击破。快速排序的思
时间复杂度 机器学习 github -
快速排序 python 实现 python快速排序原理
快速排序,简称快排,基本上被认为是相同数量级的所有排序算法中,平均性能最好的。今天就学习一下如何实现,希望对你的学习或工作有参考价值原理:对于给定的记录,选择一个基准数(为了方便通常选择第一个数),通过一趟排序后,将原序列分为两部分,使得前面的比后面的小,然后再依次对前后进行拆分进行快速排序,递归该过程,直到序列中所有记录均有序。这是典型的分治思想,或者叫分治法,把问题分为一个个的小部分来分别解决
快速排序 python 实现 python 快速排序 python快速排序 实现快速排序的算法 归并排序验证性实验