1.快速排序
快速排序(Quick Sort),是在上世纪60年代,由美国人东尼·霍尔提出的一种排序方法。这种排序方式,在当时已经是非常快的一种排序了。因此在命名上,才将之称为“快速排序”。
算法过程
先从数据序列中取出一个数作为基准数(baseline,习惯取第一个数)。
分区过程,将比基准数小的数全放到它的左边,大于或等于它的数全放到它的右边。
再对左右区间递归(recursive)重复第二步,直到各区间只有一个数。
因为数据序列之间的顺序都是固定的。最后将这些子序列一次组合起来,整体的排序就完成了
def quick_sort(lst):
n = len(lst)
if n <= 1:
return lst
baseline = lst[0]
left = [lst[i] for i in range(1, len(lst)) if lst[i] < baseline]
right = [lst[i] for i in range(1, len(lst)) if lst[i] >= baseline]
return quick_sort(left) + [baseline] + quick_sort(right)
今日音乐