Python Shuffle-Algorithmus Leistung

9

Ich habe mich über die zeitliche Komplexität der Funktion shuffle in% co_de gewundert % Python-Bibliothek / -Modul Ist es O (n) oder ist es weniger?

Gibt es eine Website, die die zeitliche Komplexität von Funktionen zeigt, die zu Python-Bibliotheken gehören?

    
Saher Ahwal 21.02.2012, 01:54
quelle

1 Antwort

14

Sie können eine Liste nicht in einer völlig zufälligen Weise in weniger als O (n) mischen.

Die Implementierung von random.shuffle() verwendet das Fisher-Yays Shuffle-Algorithmus , der leicht als O (n) zu sehen ist.

    
Sven Marnach 21.02.2012, 02:00
quelle