Python-program for utvalgssortering
Valgsorteringsalgoritmen sorterer en matrise ved gjentatte ganger å finne minimumselementet (med tanke på stigende rekkefølge) fra usortert del og sette det i begynnelsen. Algoritmen opprettholder to undermatriser i en gitt matrise.
Python-program for utvalgssortering
Den medfølgende Python-koden demonstrerer algoritmen for utvalgssortering. Utvalgssortering har en tidskompleksitet på O(n^2). I hver iterasjon finner koden minimumselementets indeks i den usorterte delen av matrisen og bytter den med den gjeldende indeksens element. Dette sorterer arrayet gradvis fra venstre til høyre. Eksemplet initialiserer en matrise, bruker selectSort-funksjonen for å sortere den, og skriver deretter ut den sorterte matrisen i stigende rekkefølge. Den sorterte matrisen oppnås ved gjentatte ganger å finne det minste elementet i den usorterte delen og plassere den i riktig posisjon, noe som resulterer i en ordnet matrise: [-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)> |
Produksjon
The array after sorting in Ascending Order by selection sort is: [-202, -97, -9, -2, 0, 11, 45, 88, 747]
Tidskompleksitet : O(n 2 ).
Auxiliary Space :O(1).
Vennligst se fullstendig artikkel om Utvalgssortering for flere detaljer!