Valsorteringsalgoritmen sorterar en array genom att upprepade gånger hitta minimielementet (med tanke på stigande ordning) från osorterad del och sätta det i början. Algoritmen upprätthåller två subarrayer i en given array.
Python-program för urvalssortering
Den medföljande Python-koden demonstrerar algoritmen för urvalssortering. Urvalssortering har en tidskomplexitet på O(n^2). I varje iteration hittar koden minimielementets index i den osorterade delen av arrayen och byter det med det aktuella indexelementet. Detta sorterar gradvis arrayen från vänster till höger. Exemplet initierar en matris, använder funktionen selectSort för att sortera den och skriver sedan ut den sorterade matrisen i stigande ordning. Den sorterade arrayen erhålls genom att upprepade gånger hitta det minsta elementet i den osorterade delen och placera det i dess korrekta position, vilket resulterar i en ordnad array: [-202, -97, -9, -2, 0, 11, 45, 88, 747].
linux ändringsfil
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)> |
genomgång av postorder
>
"vad är skillnaden mellan ett lejon och en tiger"
>Produktion
The array after sorting in Ascending Order by selection sort is: [-202, -97, -9, -2, 0, 11, 45, 88, 747]>
Tidskomplexitet : O(n2).
Hjälputrymme :O(1).
Se hela artikeln om Urval Sortera för mer detaljer!
sorterad arraylist java