Selection sort is een eenvoudig sorteeralgoritme dat de lijst verdeelt in een gesorteerd deel en een ongesorteerd deel. Het werkt door herhaaldelijk het kleinste (of grootste, afhankelijk van de sorteervolgorde) element te vinden van het ongesorteerde deel en dit te plaatsen aan het begin van het gesorteerde deel. Via deze link krijg je een visuele voorstelling van het selection sort algoritme.
Hier is een basisstappenplan voor Selection sort:
Hoewel Selection sort eenvoudig te begrijpen en te implementeren is, heeft het een inefficiƫnte tijdscomplexiteit van O(n^2) in alle gevallen, wat betekent dat het niet efficiƫnt is voor grote lijsten. Het is echter handig voor kleine lijsten of als een educatief hulpmiddel vanwege zijn eenvoud en duidelijkheid.
Schrijf een functie selectionsort met een lijst van getallen als parameter die een gesorteerde lijst als returnwaarde heeft.
>>> selectionsort([64, 34, 25, 12, 22, 11, 90])
[11, 12, 22, 25, 34, 64, 90]
>>> selectionsort([73, 41, 74, 72, 8, 10, 57, 84, 68, 21])
[8, 10, 21, 41, 57, 68, 72, 73, 74, 84]