Boble sorter i python
I denne delen vil vi gi noen detaljer om boble -sortering. Boble sorterer iterativt skanner listen, sammenligner elementene og erstatter alle som er ute av drift. Listen blir sendt gjennom igjen og igjen til den er sortert. Denne prosedyren gjentas til alle verdiene i en matrise eller liste blir sammenlignet. Hvis det er nødvendig å bytte, blir elementene byttet for sortering for sortering. I boble -sortering utfører vi sjekkingen i iterasjoner ved hjelp av forskjellige løkker som "for" og "while" løkker.
Hver iterasjon blir vanligvis referert til som et "pass" i sortering. Dette handler om boble -sorteringsdetaljene i Python. Når sorteringsprosessen fortsetter, "" Boble "øverst på listen hvis vi sorterer i stigende rekkefølge) og gir metoden en sammenligningssort og navnet og navnet.
La oss si at vi ønsker å ordne en liste over elementer på en ordnet måte som er i tilfeldig rekkefølge. Tenk på følgende liste:
[56,2,6,22,9]
For å bytte to tilstøtende komponenter hvis den første verdien er større enn den andre, itererer vi gjennom listen. Utfallet er som følger:
[2,6,9,22,56]
Forhåpentligvis har du nå en viss forståelse av boble -sortering. La oss nå diskutere noen programmeringseksempler for bedre forståelse.
Eksempel 1:
Først diskuterer vi prosessen med boble -sortering ved hjelp av et enkelt eksempel. Med dette eksempelprogrammet kan du enkelt utføre boble -sortering i Python -applikasjonene dine. Referansekoden til dette eksemplet er som følger. Se denne koden og prøv å forstå den linje for linje:
Vi definerer en funksjon som vi kaller prosessen med boble -sortering og navnet på funksjonen som er "boble_sort". I denne funksjonen passerer vi matrisen som vi definerer for sortering. Her heter matrisen “ARR1”. Vi tar en annen variabel som heter “Num” og tildeler lengden på matrisen til denne variabelen. Nå bruker vi en "for loop" som brukes til å søke i indeksen på listen som inneholder de forskjellige typer elementer. Vi tar en variabel som heter “Jeg”. Denne sløyfen sjekker alle elementene i matrisen. Vi tar en sløyfe som brukes til å få tilgang til hvert element i matrisen for å søke i elementene som en er større og for å sammenligne de tilstøtende elementene. Den ytre "for loop" med "jeg" -variabelen kjører for "num" tider, der "num" er lengden på listen. Den indre "for loop" med "M" -variabelen går fra 0 til NUM-I-1.
I hver iterasjon av det indre for loop sammenligner vi det nåværende elementet (arr1 [m]) med neste element (arr1 [m+1]). I tilfelle at det nåværende elementet er større enn neste element, utveksler vi dem. Følgelig bobler det største elementet opp til den aller siste posisjonen på listen etter hver iterasjon, etterfulgt av det nest største elementet under det påfølgende løpet, og så videre. Denne prosessen gjentas til listen er sortert.
Matrisen er sortert etter at den ytre “for loop” er ferdig. Boble -sorteringen er en av de enkleste sorteringsalgoritmene, men den er ikke den mest effektive på grunn av dens o (n^2) tidskompleksitet. Dette betyr at tiden som blir tatt for å sortere matrisen øker eksponentielt etter hvert som antall elementer i matrisen øker.
Produksjon:
Utgangen til dette eksemplet er som følger:
Eksempel 2:
Vi tar et annet eksempel for din hjelp. Referansekoden til dette eksemplet er vedlagt i følgende:
Her, i forrige kode, ser vi at vi først definerer funksjonen for boble -sortering som heter "BubblesortArray" der vi passerer en "ARR" -felt som et funksjonsargument. Etter det erklærer vi en variabel som heter “N” som lagrer lengden på en matrise.
Nå bruker vi en "for" -sløyfe der vi initialiserer "jeg" -variabelen som begrenser lik lengden på matrisen. I denne "for" -sløyfen bruker vi en annen sløyfe som tar det første elementet i en matrise. Området for denne sløyfen er mindre enn verdien av indeksen. Her sammenligner vi de tilstøtende arrayverdiene. Hvis verdien av matrisen er større enn neste verdi av en matrise, bytter vi verdiene og returnerer disse verdiene for matrisen til funksjonsparameteren.
Så på denne måten kan vi utføre sorteringen. Til slutt initialiserer vi matrisen som vi bruker boble -lagringen. Vi passerer funksjonen i en utskriftsuttalelse for det viste resultatet på skjermen. Arrayen er ordnet i synkende rekkefølge i denne implementeringen. Den ytre sløyfen itererer gjennom matrisen og den indre sløyfen sammenligner og bytter de tilstøtende elementene hvis de ikke er lagret.
For å vise utdataene, passerer vi funksjonen i utskriftserklæringen. "List_element" initialiseres med en matrise som vi utfører boble -sorteringen.
Produksjon:
Utgangen fra denne matrisen er vedlagt i følgende:
Konklusjon
Vi kan si at Bubble Sort bruker en enkel logikk som fungerer ved å gjenta de tilstøtende elementene hvis de ikke er i riktig rekkefølge, og at boble -sorteringsalgoritmen ikke fungerer bra når matrisen eller listen er i omvendt rekkefølge og alle elementene i matriser er ikke sortert. Denne typen sortering er kraftigst for akademiske formål som å søke og utføre forskjellige oppgaver. Forhåpentligvis forstår du nå denne typen sortering i Python. Du kan enkelt implementere disse eksempelkodene i Python -applikasjonen din for mer klarhet.