Nykyään Valintalajittelu:stä on tullut yleinen kiinnostava aihe, joka on kiinnittänyt suuren yleisön huomion. Valintalajittelu:n merkitys on synnyttänyt keskustelua, joka vaihtelee poliittisista ja yhteiskunnallisista piireistä jokapäiväisiin keskusteluihin. Vuosikymmenten ajan Valintalajittelu on ollut tutkimuksen ja tutkimuksen kohteena eri tiedonaloilla, mikä on synnyttänyt valtavasti kertynyttä tietoa sen merkityksestä ja vaikutuksista nyky-yhteiskuntaan. Tässä artikkelissa tutkimme Valintalajittelu:n eri puolia ja sen vaikutusta jokapäiväiseen elämäämme sekä analysoimme sen kehitystä ajan mittaan ja sen tulevia vaikutuksia.
Valintalajittelu (engl. selection sort) on tietojenkäsittelytieteessä tehoton mutta yksinkertainen ja intuitiivinen lajittelualgoritmi. Sen keskimääräinen asymptoottinen suoritusaika on O(n2).
Algoritmi voidaan ilmaista seuraavasti:
T: taulukko first: T:n ensimmäinen lajiteltava indeksi last: T:n viimeinen lajiteltava indeksi for i := first to last – 1 do min := pienin alkio väliltä T...T vaihda T <–> min end for
Tällöin silmukkainvariantti on:
C++-kielellä koko algoritmi, mukaan lukien minimiarvon etsiminen, voidaan kirjoittaa seuraavasti:
void selectionSort(int T, int pituus) { int i, j, min; for (i = 0; i < pituus - 1; i++) { min = i; for (j = i+1; j < pituus; j++) if (T < T) min = j; swap(T, T); } }