选择排序的思路:
得到一个list,取出最小的值放到新的list中,并且在原list中删掉该元素。
重复操作直到取出最后一个数。
快速排序的平均时间复杂度为O(NlogN),在最糟糕情况下,快速排序的时间复杂度可能为O(n^2)
python练习:
def quicksort(array):
if len(array)<2:
return array
else:
pivot = array[0]
print pivot
# 使用列表生成器
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([23,1,1,56])