logo

Programa Python per a l'ordenació de selecció

L'algorisme d'ordenació de selecció ordena una matriu trobant repetidament l'element mínim (tenint en compte l'ordre ascendent) de la part no ordenada i posant-lo al principi. L'algorisme manté dos subarrays en una matriu donada.

Programa Python per a l'ordenació de selecció

El codi de Python proporcionat mostra l'algorisme d'ordenació de selecció. L'ordenació de selecció té una complexitat temporal de O(n^2). En cada iteració, el codi troba l'índex de l'element mínim a la part no ordenada de la matriu i l'intercanvia amb l'element de l'índex actual. Això ordena gradualment la matriu d'esquerra a dreta. L'exemple inicialitza una matriu, aplica la funció selectionSort per ordenar-la i després imprimeix la matriu ordenada en ordre ascendent. La matriu ordenada s'obté trobant repetidament l'element més petit a la part no ordenada i col·locant-lo en la seva posició correcta, donant lloc a una matriu ordenada: [-202, -97, -9, -2, 0, 11, 45, 88, 747].



Python 3






# 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)>



>

>

Sortida

The array after sorting in Ascending Order by selection sort is: [-202, -97, -9, -2, 0, 11, 45, 88, 747]>

Complexitat temporal : O(n2).

Espai Auxiliar : O(1).

Consulteu l'article complet sobre Ordenació de la selecció per a més detalls!