Algorithmen und Datenstrukturen · Senior · Frage 18 von 75
Was ist falsch daran, ein Array per arr.sort(() => Math.random() - 0.5) zu mischen?
- 1Es wirft, weil die Vergleichsfunktion nicht konsistent ist
- 2Es liefert das Array immer in seiner ursprünglichen Reihenfolge
- 3Das Ergebnis ist verzerrt; Fisher-Yates ist gleichverteilt
Antwort zeigen
Richtige Antwort: Das Ergebnis ist verzerrt; Fisher-Yates ist gleichverteilt
Erklärung
Sortieralgorithmen setzen eine konsistente Vergleichsfunktion voraus; zufällige Antworten machen manche Permutationen je nach Engine viel wahrscheinlicher. Fisher-Yates tauscht jede Position mit einer zufälligen früheren in O(n) und ist gleichverteilt.