Python programma atlases kārtošanai
Atlases kārtošanas algoritms kārto masīvu, atkārtoti atrodot minimālo elementu (ņemot vērā augošo secību) no nešķirotās daļas un ievietojot to sākumā. Algoritms noteiktā masīvā uztur divus apakšmasīvus.
Python programma atlases kārtošanai
Norādītais Python kods parāda atlases kārtošanas algoritmu. Atlases kārtošanas laika sarežģītība ir O(n^2). Katrā iterācijā kods atrod minimālā elementa indeksu masīva nešķirotajā daļā un apmaina to ar pašreizējā indeksa elementu. Tas pakāpeniski sakārto masīvu no kreisās puses uz labo. Piemērā tiek inicializēts masīvs, tiek lietota funkcija SelectionSort, lai to kārtotu, un pēc tam izdrukā sakārtoto masīvu augošā secībā. Sakārtoto masīvu iegūst, atkārtoti atrodot mazāko elementu nešķirotajā daļā un novietojot to pareizajā pozīcijā, kā rezultātā tiek iegūts sakārtots masīvs: [-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)> |
Izvade
The array after sorting in Ascending Order by selection sort is: [-202, -97, -9, -2, 0, 11, 45, 88, 747]
Laika sarežģītība : O(n 2 ).
Palīgtelpa : O(1).
Lūdzu, skatiet pilnu rakstu par Atlase Kārtot sīkākai informācijai!