我發現這個函數是用python寫在互聯網上的,我很困惑,如果它是一個快速排序或不是因爲它被寫入一行而且它工作的很好很快,我認爲它與O(N * log n)的,即使在最壞情況下的複雜工作,所以這是代碼:我們可以稱這個函數爲快速排序嗎
def qsort(L):
return (qsort([x for x in L[1:] if x < L[0]]) +\
L[0:1] + \
qsort([x for x in L[1:] if x >= L[0]])) if L else []
看起來像一個Quicksort。 – Carcigenicate
將這一條襯裏分解成多行,以便理解它。一條襯裏只是爲了它的緣故,如果它妨礙可讀性,通常是一個糟糕的主意...... – Julien
是的,這是一個快速排序。 (它使用不太理想的空間,但它仍然計數。) – Ryan