Python-programma voor selectiesortering
Het selectie-sorteeralgoritme sorteert een array door herhaaldelijk het minimumelement (in oplopende volgorde) uit het ongesorteerde deel te vinden en dit aan het begin te plaatsen. Het algoritme onderhoudt twee subarrays in een gegeven array.
Python-programma voor selectiesortering
De meegeleverde Python-code demonstreert het Selection Sort-algoritme. Selectie sorteren heeft een tijdscomplexiteit van O(n^2). In elke iteratie vindt de code de index van het minimumelement in het ongesorteerde deel van de array en verwisselt deze met het huidige indexelement. Hierdoor wordt de array geleidelijk van links naar rechts gesorteerd. In het voorbeeld wordt een array geïnitialiseerd, wordt de functie SelectionSort toegepast om deze te sorteren en wordt de gesorteerde array vervolgens in oplopende volgorde afgedrukt. De gesorteerde array wordt verkregen door herhaaldelijk het kleinste element in het ongesorteerde gedeelte te vinden en dit op de juiste positie te plaatsen, wat resulteert in een geordende array: [-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)> |
Uitvoer
The array after sorting in Ascending Order by selection sort is: [-202, -97, -9, -2, 0, 11, 45, 88, 747]
Tijdcomplexiteit : Op 2 ).
Hulpruimte : O(1).
Raadpleeg het volledige artikel op Selectie Sorteren voor meer details!