Python D&G快速排序
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([30,20,55,31]))
有一个待解决的问题,如何每次随机选择一个数组元素作为基线值,实现O(nlogn),还望观者不吝赐教。
本文来自博客园,作者:main(void),转载请注明原文链接:https://www.cnblogs.com/MR---Zhao/p/12736711.html

浙公网安备 33010602011771号