Ich fand diese Funktion in Python geschrieben im Internet und ich bin verwirrt, wenn es eine schnelle Sortierung ist oder nicht, weil es in einer Zeile geschrieben ist und es sehr gut und schnell funktioniert und ich denke, dass es funktioniert mit der Komplexität von O (n * log n) selbst im schlimmsten Fall, so ist dies der Code:können wir diese Funktion eine schnelle Sortierung nennen
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 []
Sieht aus wie ein Quicksort. – Carcigenicate
Brechen Sie diesen einen Liner in mehrere Zeilen auf, um einen Sinn daraus zu machen. Ein Liner nur um der Sache willen ist oft eine schlechte Idee, wenn er die Lesbarkeit behindert ... – Julien
Ja, es ist ein Quicksort. (Es verwendet weniger als optimalen Speicherplatz, aber es zählt immer noch.) – Ryan