Algoritem za razvrščanje izbire razvrsti matriko tako, da večkrat poišče najmanjši element (glede na naraščajoči vrstni red) iz nerazvrščenega dela in ga postavi na začetek. Algoritem vzdržuje dve podnitri v dani matriki.
Program Python za razvrščanje izbire
Priložena koda Python prikazuje algoritem razvrščanja izbire. Razvrščanje izbire ima časovno kompleksnost O(n^2). V vsaki ponovitvi koda najde najmanjši indeks elementa v nerazvrščenem delu matrike in ga zamenja z elementom trenutnega indeksa. To postopoma razvrsti niz od leve proti desni. Primer inicializira matriko, uporabi funkcijo selectionSort za njeno razvrščanje in nato natisne razvrščeno matriko v naraščajočem vrstnem redu. Razvrščeno matriko dobimo tako, da večkrat poiščemo najmanjši element v nerazvrščenem delu in ga postavimo na pravilno mesto, kar ima za posledico urejeno matriko: [-202, -97, -9, -2, 0, 11, 45, 88, 747].
Python3
# Selection sort in Python> # time complexity O(n*n)> #sorting by finding min_index> def> selectionSort(array, size):> > >for> ind>in> range>(size):> >min_index>=> ind> >for> j>in> range>(ind>+> 1>, size):> ># select the minimum element in every iteration> >if> array[j] min_index = j # swapping the elements to sort the array (array[ind], array[min_index]) = (array[min_index], array[ind]) arr = [-2, 45, 0, 11, -9,88,-97,-202,747] size = len(arr) selectionSort(arr, size) print('The array after sorting in Ascending Order by selection sort is:') print(arr)> |
>
>Izhod
The array after sorting in Ascending Order by selection sort is: [-202, -97, -9, -2, 0, 11, 45, 88, 747]>
Časovna zapletenost : O(n2).
Pomožni prostor : O(1).
Oglejte si celoten članek Izbor Razvrsti za več podrobnosti!