Developer Toolbox

Quicksort

Kiest één waarde, de spil, en zet kleinere waarden links ervan en grotere rechts. Daarna doet het hetzelfde met elke kant.

  • Ω(n log n)
  • Θ(n log n)
  • O(n²)
  • O(log n)
  • nee
  • ja
  • wordt vergeleken
  • wordt verplaatst
  • spil
  • op definitieve plek
0 / 187 stappen

Recursiediepte: 0 · minimaal mogelijk: 4 · slechtst: 23 wacht op zijn spil

Vergelijkingen Verwisselingen

Druk op afspelen: de lijnen tonen hoe de kosten oplopen

Druk op afspelen of doorloop het algoritme stap voor stap.

Spatie: afspelen of pauzeren. Pijltjes links/rechts: stap. Home en End: springen.

Probeer dit: Kies een omgekeerde lijst. De spil is steeds de kleinste of grootste resterende waarde: één kant blijft leeg en de kosten lopen op naar n².

Hoe het werkt

Hier is de spil de laatste waarde van het bereik. Van links naar rechts wordt elke waarde die niet groter is dan de spil naar de linkerkant verwisseld. Daarna komt de spil tussen de twee kanten, waar hij voorgoed blijft. Elke kant wordt dan op dezelfde manier gesorteerd.

Wanneer het een goede keuze is

In de praktijk een van de snelste manieren om te sorteren, en het heeft bijna geen extra geheugen nodig. Maar kiest het steeds een slechte spil, bijvoorbeeld bij een lijst die al gesorteerd is, dan wordt het traag. Echte versies kiezen de spil zorgvuldiger.