Bubble Sort in Python - Forklaring av boble sortering med prøvekode

Innholdsfortegnelse:

Anonim

Introduksjon til Bubble Sort i Python

Bubble sort er en enkel og logisk sorteringsalgoritme. Arbeidsprinsippet er basert på rekursivt å bytte tilstøtende elementer hvis ordren er feil. I dette emnet skal vi lære om Bubble Sort i Python.

Boble sortering noen ganger også referert til som Sinking sort, Ripple sort.

La oss se det gjennom et eksempel:

Første forsøk

( 6 1 4 3) -> ( 1 6 4 2): Her blir 1ste to elementer byttet hvis ordren ikke er riktig.

(1 6 4 2) -> (1 4 6 2): Her byttes de to neste elementene ut hvis ordren ikke stemmer.

(1 4 6 2 ) -> (1 4 2 6 ): Her byttes de to neste elementene ut hvis ordren ikke stemmer.

Andre løp

( 1 4 2 6) -> ( 1 4 2 6): Her blir 1. første to elementer sammenlignet, men byttet ikke etter som rekkefølgen er riktig.

(1 4 2 6) -> (1 2 4 6): Her blir de to neste elementene byttet, da rekkefølgen ikke var korrekt.

(1 2 4 6 ) -> (1 2 4 6 ): Her blir de to siste elementene sammenlignet, men byttet ikke slik ordren er

Nå vet vi at matrisen ser sortert ut, men det kreves ett kjør uten bytte, til algoritmen for å vite om sortering er utført.

Tredje løp

( 1 2 4 6) -> ( 1 2 4 6): Ikke bytt inn 1 m 2 elementer.

(1 2 4 6) -> (1 2 4 6): Ingen bytte i de neste to elementene.

(1 2 4 6 ) -> (1 2 4 6 ): Ingen bytter i de to siste elementene.

Ettersom det ikke skjedde noen bytter på noe trinn, forstår algoritmen sortering perfekt.

Boble sorter har fått sitt navn fordi elementer beveger seg opp i riktig rekkefølge som er som bobler som reiser seg til overflaten.

Boblesortering på Python Language

La oss se den logiske implementeringen av boble sortering gjennom python. Python er et veldig mye brukt språk i disse dager. Å forstå det gjennom python vil helt sikkert gi deg selvtillit til å kunne skrive det på andre språk også.

Python-kode

def bubble_Sort(arr):
m = len(arr)
# Traverse through all the array elements
for u in range(m):
for v in range(0, mu-1):
# traverse the array from 0 to mu-1
# Swap if the element is greater than adjacent next one
if arr(v) > arr(v+1) :
arr(v), arr(v+1) = arr(v+1), arr(v)

For å skrive ut matrise etter boble sortering må du følge kode:

for i in range(len(arr)):
print("%d" %arr(i)),
Here arr will be your array.

Forklaring av Python-kode

Her er "m" lengden på matrisen. To for løkker har den faktiske bakkelogikken, der "u" representerer det første elementet mens "v" representerer det andre som det første elementet må sammenliknes for å bytte hvis sorteringsrekkefølge mellom begge deler ikke er riktig.

“Arr (v)> arr (v + 1)” dette representerer sammenligningen av påfølgende elementer, hvis det første elementet er større enn det andre elementet, vil utvekslingsoperasjonen bli utført ved å følge uttrykk:

Det er “arr (v), arr (v + 1) = arr (v + 1), arr (v)”.

Denne utvekslingsoperasjonen kalles bytte. Den gode delen er at det ikke er behov for midlertidig minne for denne typen bytteoperasjoner.

"U" representerer loopen for hvert løp, mens "v" representerer stadiene i hvert trinn. Et eksempel i avsnittet ovenfor kan vises til.

Etter å ha utført boble sortering, kan man se den sorterte matrisen, med koden nevnt nedenfor:

for i in range(len(arr)):
print ("%d" %arr(i)),

La oss se hvordan dette oppfører seg i Python IDE, for en dypere forståelse:

Produksjon:

Det er noen få fakta om Bubble Sort, som alle bør vite før de implementerer den:

  1. En boble sortering blir ofte sett på som en ikke god effektiv sorteringsmetode. Da den må bytte gjenstandene til den endelige plasseringen er kjent. Alt dette fører til bortkastet drift og dermed veldig kostbart. Denne algoritmen går gjennom hvert enkelt element, der sortering er nødvendig eller ikke nødvendig. Når løpet kjøres uten bytte, regnes boble sortering som fullført.
  2. Dette er den enkleste blant alle datastrukturer, for enhver nybegynner gir dette god selvtillit. Det er lett å konstruere og forstå.
  3. Den bruker mye tid og minne.
  4. Dette anses som en stabil algoritme, da den bevarer den relative rekkefølgen av elementer.
  5. Betraktet som bra for liten matrise / liste. Imidlertid er det en dårlig idé å bruke den til lange.

Konklusjon

Ved å gå gjennom innholdet ovenfor i boble sortering, kunne man ha fått krystallklar forståelse av denne sorteringsalgoritmen, spesialisert med python. En gang blir man komfortabel med logikken med boble sortering, å forstå det andre settet med datastrukturer vil da være enklere. En logisk tilnærming er den eneste måten å utmerke seg innen datastrukturen. Å forstå først logikken i datastrukturalgoritmen i hvert trinn og deretter målrette koden gjennom Python eller på et hvilket som helst annet språk, bør være veien.

Anbefalte artikler

Dette er en guide til Bubble Sort in Python. Her diskuterer vi den logiske implementeringen av boble sortering gjennom python kode med forklaringen. Du kan også se på følgende artikkel for å lære mer -

  1. Looper i Python
  2. Python-filoperasjoner
  3. Palindrome i Python
  4. 3d Arrays i Python
  5. Python-funksjoner
  6. Bytt i PHP
  7. 3D Arrays i C ++
  8. Palindrome i C ++
  9. Palindrome i JavaScript
  10. Hvordan arrays og lister fungerer i Python?