<.> R.Next ()) `A Roths, um eine Sammlung zu mischen?
" />
var r = new Random(); var shuffled = ordered.OrderBy(x => r.Next());
Dieser Algorithmus ist nicht die beste zufällige Sortiermethode. Es sortierte die Elemente basierend auf zufälligen Zahlen, die jedem Element zugewiesen wurden, was zu einer Zeitkomplexität führte, ist O (N log n). Dies ist viel niedriger als der Fisher-Yates-Algorithmus (Zeitkomplexität ist o (n)). <底> Der zugrunde liegende Mechanismus
Der Algorithmus weist für jedes Element in der Sammlung eine Zufallszahl zu und sortiert dann die Elemente basierend auf diesen Zahlen. Dieser Prozess ist die Reihenfolge der Elemente effektiv zufällig, aber dies ist keine echte zufällige Sortieroperation.
<合> Geeignete zufällige Sortiermethode
Obwohl diese Methode zufällige Sortierergebnisse erzielen kann, ist es aufgrund ihrer geringen Effizienz nicht die erste Methode. Der Fisher-Yates-Algorithmus zum Zufallssortieren hat eine geringere Berechnungskomplexität und eine höhere Effizienz. Darüber hinaus kann eine spezielle Shuffle -Expansionsmethode einen klaren und prägnanten Expression für zufällige Sortieroperationen liefern.
Die Eingabesammlung wird in ein Array konvertiert. Verwenden Sie die vorgegebene Funktion (z. B.
) das Element in der Zufallsaustauschliste.kehren Sie zum Austausch zurück.
Next
<能> Leistungsoptimierung Das obige ist der detaillierte Inhalt vonIst 'OrderBy (x => R.Next ())` eine zuverlässige Möglichkeit, eine Sammlung zu mischen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!