Verwenden Sie
und Shuffle -Liste: Ist es ein effizienter Algorithmus? Random
OrderBy
In diesem Artikel wird erläutert, ob die Verwendung von und
Random
Methode OrderBy
Der Code zum Generieren einer Zufallszahl für jedes Element und die Liste basierend auf diesen Zahlen wieder aufzunehmen:
Bewertung
<code>var r = new Random(); var shuffled = ordered.OrderBy(x => r.Next());</code>
Computerkomplexität:
Die Zeitkomplexität ist O (N log n), was für große Listen ineffizient ist. Der bessere Shuffle -Algorithmus hat die Komplexität von O (n).mögliche Probleme:
Diese Expansionsmethode vereinfacht die Verwendung von Fisher-Yates 'Shuffle und vermeidet die Anforderungen der Erzeugung neuer Arrays.
Schlussfolgerung
und können zum Mischen verwendet werden, aber sie haben das Problem der Effizienz und Abweichung. Fisher-yates Shuffle bietet eine effizientere und nicht deaktiviertere Lösung. Dies ist die erste Wahl in den meisten Anwendungen, die gemischt werden müssen.
Das obige ist der detaillierte Inhalt vonIst die Verwendung von 'Random' und 'OrderBy' eine effiziente Möglichkeit, eine Liste zu mischen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!