Python Selection Sort

Python Selection Sort
I denne artikkelen vil vi diskutere en annen type sortering som heter “Selection Sort”. En grei sorteringsmetode som heter Selection Sort veksler det minste medlemmet fra listens usorterte seksjon med listens første usorterte element. I denne artikkelen vil vi snakke om utvalgssortering i Python. Vi vil også gi noen eksempler på programmer. Hovedformålet med denne typen sortering er å ordne alle elementene i stigende eller synkende rekkefølge basert på kravene. Hvis du er ny på dette konseptet, inneholder denne artikkelen all nødvendig informasjon om valgsort.

Utvalgssort i python

og steder det usorterte elementet i begynnelsen av listen for å sortere listen. Valgssort er en enkel algoritme som fungerer gjentatte ganger for å finne de minste eller største elementene i en usortert matrise. Det kan også være fordelaktig i situasjoner der størrelsen på matrisen allerede er delvis sortert.

Anta at vi har følgende matrise:
[20,4,3,2]

20 (20) er det første elementet. Å finne det minste heltallet fra den gjenværende matrisen er neste trinn. To (2) er det minste antallet mellom 4, 3 og 2. Dermed endrer vi 20 til 2.

Den nye matrisen er [2,4,3,20]. Igjen, dette trinnet gjentas.

Til slutt får vi den sorterte matrisen som [2,3,4,20].

Hva er prosessen med valgsort?

I dette avsnittet vil vi diskutere arbeidet med seleksjonssort i Python. Vi setter det første elementet i matrisen som en minimumsverdi. Deretter sammenligner vi minimumsverdien på listen med det andre elementet, og så videre. Hvis det andre elementet er større enn minimum, skifter vi minimumsverdien for å starte og tilordne den andre verdien til minimumsetiketten. På denne måten sorterer vi lett matrisen. Vi bruker også en indeks til sammenligning i dette tilfellet.

Eksempel 1:
La oss diskutere prosessen med utvalgssortering ved hjelp av eksempler. Vi bruker et enkelt eksempel for å demonstrere prosessen med utvalgssortering. Referansekoden for dette eksemplet er nevnt i følgende:

DEF SELECTION_SORT (ARRN):
For iterasjon i rekkevidde (Len (ARRN)):
min_ind = iterasjon
for indre innen rekkevidde (iterasjon+1, len (arrn)):
Hvis arrn [indre] < arrN[min_ind]:
min_ind = indre
arrn [iterasjon], arrn [min_ind] = arrn [min_ind], arrn [iterasjon]
Returner arrn
Print (Selection_sort ([34, 25, 65, 21, 1,49])))

I dette eksemplet definerer vi en funksjon som heter “Selection_sort” der vi passerer en rekke som vi ønsker å bruke valgsort. Etter det bruker vi "for" -løkken der vi tar "iterasjon" -variabelen som kjører til verdien er lik lengden på "Arrn" -arrayen. Nå tar vi en variabel der vi lagrer minimumsindeksverdien som heter “Min_ind”. I “min_ind” tildeler vi iterasjonsverdien. Hvis verdien av iterasjon er “1”, lagres “1” i “Min_ind”.

Etter det utfører vi “For” igjen Loop for å kjøre verdien av den indre matrisen der vi tar startverdien mer enn den forrige “for” -sløyfen. Hvis verdien av iterasjon er "1", er verdien av "indre" variabel "iterasjon+1". Vi bruker "hvis" -uttalelsen i denne "for" -løkken for å sjekke om vår matriseverdi som "arrn [indre]" er mindre enn arrayindeksverdien til "arrn [min_ind]". Deretter tildeler vi "indre" -variabelen til "Min-ind" -variabelen.

Nå bytter vi matriser ved å skifte iterasjonsverdien til "min_ind" -verdien og "min_ind" -verdien til iterasjonsverdien i matrisen. Denne prosessen gjentas igjen og igjen til tilstanden er fornøyd. Deretter returnerer vi denne verdien av matriser mot funksjonen. Til slutt kjører vi sorteringsfunksjonen i utskriftserklæringen for å vises på konsollen. La oss nå diskutere utdataene fra utvalgssorteringen.

Produksjon:
Utgangen fra den forrige koden som vises på konsollen er som følger:

[1, 21, 25, 34, 49, 65]

Her kan du se at listen er sortert med hell.

Eksempel 2:
Her ser vi på et eksempel på valg av utvalg og forklarer det i detalj. Referansekoden for dette eksemplet er gitt i følgende:

DEF SelectionSort (Array1):
For iterasjon i rekkevidde (LEN (Array1)):
minimum_index = iterasjon
For I In Range (iterasjon+1, Len (Array1)):
Hvis array1 [i] < array1[minimum_index]:
minimum_index = i
Array1 [iterasjon], array1 [minimum_index] = array1 [minimum_index], array1 [iterasjon]
Retur Array1
Array1 = [30, 20, 50, 24, 10,40, 30]
Print (SelectionSort (Array1))

Vi forklarer koden for dette eksemplet her. Først erklærer og initialiserer vi funksjonen. Til slutt utfører vi denne funksjonen for enkelt å løse valgsortering. Vi trenger en matrise for å videreføre valgsorteringsfunksjonen som sorteringen brukes.

Vi krever to matriser i sortering: Den ene matrisen er for indekskontroll, og den andre matrisen eller loopen brukes til å sjekke elementene i matrisen. Deretter stokker vi matriseelementene i stigende eller synkende rekkefølge. I valgsortfunksjonen lager vi valg av valg av valg når vi initialiserer den første "for" -sløyfen hvis rekkevidde er lik lengden på en matrise. Anta at lengden på en matrise er “7”, sløyfen går syv ganger.

I denne "for" -sløyfen initialiserer vi "minimum_index" -variabelen som sorterer verdien av iterasjon. Ved den første sløyfe -iterasjonen er "minimum_index" -verdien "1", og denne ytre sløyfelogikken er gjort. Nå kjører vi en annen indre sløyfe som sjekker elementene i matriser. Deretter utfører vi "for" -sløyfen der startverdien av sløyfen som er 1 økning enn iterasjonen og dens lengde er lik matrisen.

I denne matrisen sammenligner vi to verdier en etter en. Hvis det første elementet er mindre enn indeksverdien, bytter vi disse verdiene. Nå sorteres nummeret på denne måten ved hjelp av denne koden eller logikken. Til slutt, returner funksjonsverdien som genererer den sorterte matrisen. Nå ønsker vi å kjøre utskriftserklæringen for å vise matrisen på en konsoll. Så vi sender denne matrisen til utskriftserklæringen. La oss se på utgangen fra denne funksjonen.

Produksjon:
Utgangen til denne koden er vedlagt i følgende:

[10, 20,24, 30, 30, 40, 50]

Konklusjon

La oss nå avslutte denne artikkelen. Valgssort er den typen sortering som vi allerede har vurdert i forrige diskusjon. Disse sorteringsalgoritmene er veldig nyttige for å sortere en usortert matrise eller liste i Python. Python gir også mange sorteringsfunksjoner for å administrere sorteringsalgoritmer i koden. Her diskuterte vi hele prosessen ved hjelp av eksempler. Du kan også bruke disse eksemplene i Python -miljøet ditt for å praktisere denne typen sortering og få en bedre forståelse.