python quick sort

quick sort是一種分治的思想

分治法的基本思想
     分治法的基本思想是:将原问题分解为若干个规模更小但结构与原问题相似的子问题。递归地解这些子问题,然后将这些子问题的解组合为原问题的解。

seq  = seq_a + [k] + seq_b

all item in seq_a < k

all item in seq_b > k

def quicksort(seq):
    if len(seq) <= 1:
        return seq
    k = seq[0]
    seq_a, seq_b = [], []
    for i in range(1, len(seq)):
        if seq[i] >= k:
            seq_b.append(seq[i])
        else:
            seq_a.append(seq[i])
    print seq_a, seq_b
    return quicksort(seq_a)+ [k] + quicksort(seq_b)


你可能感兴趣的:(python quick sort)