logo

Program Python za razvrščanje izbire

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!