logo

Udvælgelsessortering i Python

I denne tutorial implementerer vi sorteringsalgoritmen i Python. Det er en ret ligetil algoritme, der bruger mindre bytte.

I denne algoritme vælger vi det mindste element fra et usorteret array i hver passage og bytter med begyndelsen af ​​det usorterede array. Denne proces vil fortsætte, indtil alle elementer er placeret på det rigtige sted. Det er enkelt og en på stedet sammenligningssorteringsalgoritme.

mia khalifa alder

Arbejde af udvælgelsessortering

Følgende er trinene til at forklare, hvordan udvælgelsessorten fungerer i Python.

Lad os tage et usorteret array for at anvende udvælgelsessorteringsalgoritmen.

[30, 10, 12, 8, 15, 1]

Trin 1: Få længden af ​​arrayet.

længde = len(array) → 6

Trin - 2: Først sætter vi det første element som minimumselement.

tilføje til en matrix java

Trin - 3: Sammenlign nu minimum med det andet element. Hvis det andet element er mindre end det første, tildeler vi det som minimum.

Igen sammenligner vi det andet element med det tredje, og hvis det tredje element er mindre end andet, skal du tildele det som minimum. Denne proces fortsætter, indtil vi finder det sidste element.

Trin - 4: Efter hver iteration byttes minimumselementet foran det usorterede array.

Trin - 5: Det andet til tredje trin gentages, indtil vi får det sorterede array.

en fuld formular

Valgsorteringsalgoritme

Valgsorteringsalgoritmen som følger.

Algoritme

java hej verden
 selection_sort(array) repeat (0, length - 1) times set the first unsorted element as the minimum for each of the unsorted elements if element <currentminimum set element as new minimum swap with first unsorted position end selection_sort < pre> <h2>Selection Sort Program using Python</h2> <p>The following code snippet shows the selection sort algorithm implementation using Python.</p> <p> <strong>Code -</strong> </p> <pre> def selection_sort(array): length = len(array) for i in range(length-1): minIndex = i for j in range(i+1, length): if array[j] <array[minindex]: minindex="j" array[i], array[minindex]="array[minIndex]," array[i] return array print('the sorted is: ', selection_sort(array)) < pre> <p> <strong>Output:</strong> </p> <pre> The sorted array is: [3, 6, 9, 21, 33] </pre> <p> <strong>Explanation -</strong> </p> <p>Let&apos;s understand the above code -</p> <ul> <li>First, we define the <strong>selection_sort()</strong> function that takes array as an argument.</li> <li>In the function, we get the length of the array which used to determine the number of passes to be made comparing values.</li> <li>As we can see that, we use two loops - outer and inner loop. The outer loop uses to iterate through the values of the list. This loop will iterate to 0 to (length-1). So the first iteration will be perform (5-1) or 4 times. In each iteration, the value of the variable i is assigned to the variable</li> <li>The inner loop uses to compare the each value of right-side element to the other value on the leftmost element. So the second loop starts its iteration from i+1. It will only pick the value that is unsorted.</li> <li>Find the minimum element in the unsorted list and update the minIndex position.</li> <li>Place the value at the beginning of the array.</li> <li>Once the iteration is completed, the sorted array is returned.</li> <li>At last we create an unsorted array and pass to the <strong>selection_sort()</strong> It prints the sorted array.</li> </ul> <h2>Time Complexity of Selection Sort</h2> <p>Time complexity is an essential in term of how much time an algorithm take to sort it. In the selection sort, there are two loops. The outer loop runs for the n times (n is a total number of element).</p> <p>The inner loop is also executed for n times. It compares the rest of the value to outer loop value. So, there is n*n times of execution. Hence the time complexity of merge sort algorithm is O(n<sup>2</sup>).</p> <p>The time complexity can be categorized into three categories.</p> <hr></array[minindex]:></pre></currentminimum>

Forklaring -

Lad os forstå ovenstående kode -

  • Først definerer vi select_sort() funktion, der tager array som et argument.
  • I funktionen får vi længden af ​​det array, der bruges til at bestemme antallet af gennemløb, der skal foretages ved sammenligning af værdier.
  • Som vi kan se det, bruger vi to løkker - ydre og indre løkke. Den ydre sløjfe bruges til at iterere gennem værdierne på listen. Denne sløjfe vil iterere til 0 til (længde-1). Så den første iteration udføres (5-1) eller 4 gange. I hver iteration tildeles værdien af ​​variablen i variablen
  • Den indre løkke bruges til at sammenligne hver værdi af elementet i højre side med den anden værdi på elementet længst til venstre. Så den anden løkke starter sin iteration fra i+1. Det vil kun vælge den værdi, der er usorteret.
  • Find minimumselementet i den usorterede liste og opdater minIndex-positionen.
  • Placer værdien i begyndelsen af ​​arrayet.
  • Når iterationen er afsluttet, returneres det sorterede array.
  • Til sidst opretter vi et usorteret array og går videre til select_sort() Det udskriver det sorterede array.

Tidskompleksitet af selektionssortering

Tidskompleksitet er afgørende for, hvor meget tid en algoritme tager at sortere den. I udvælgelsessorten er der to sløjfer. Den ydre sløjfe løber de n gange (n er et samlet antal elementer).

Den indre løkke udføres også n gange. Den sammenligner resten af ​​værdien med den ydre sløjfeværdi. Så der er n*n tidspunkter for udførelse. Derfor er tidskompleksiteten af ​​flettesorteringsalgoritmen O(n2).

Tidskompleksiteten kan kategoriseres i tre kategorier.