Kako implementirati Bubble Sort v Python?



V tem blogu boste izvedeli kodo in razlago razvrščanja Pythonovega seznama s pomočjo mehurčkastega razvrščanja po metodi zamenjave.

Razvrščanje pomeni razvrščanje podatkov v naraščajočem ali padajočem vrstnem redu glede na neko linearno razmerje med elementi. Ta članek o razvrščanju mehurčkov v vam bodo pomagali podrobneje razumeti ta koncept.

V tem blogu bomo obravnavali spodnje teme:





Kaj je razvrščanje mehurčkov?

Razvrstitev mehurčkov je znana tudi kot potapljanje. To je preprost algoritem za razvrščanje, ki neprestano koraka po seznamu, ki ga je treba razvrstiti, primerja vsak par sosednjih elementov in jih zamenja, če niso v pravilnem vrstnem redu. Koraki se ponavljajo, dokler zamenjav ni več, takrat je seznam razvrščen.

Koraki za izvedbo razvrščanja po mehurčkih

  • Primerjajte prvi in ​​drugi element na seznamu in zamenjajte, če sta v napačnem vrstnem redu.
  • Primerjajte drugi in tretji element in jih zamenjajte, če sta v napačnem vrstnem redu.
  • Nadaljujte podobno do zadnjega elementa seznama na podoben način.
  • Ponavljajte vse zgornje korake, dokler seznam ni razvrščen.

Zgornji koraki bodo jasnejši v naslednjih vizualizacijah -



Razvrstitev mehurčkov v Pythonu - Edureka



Algoritem razvrščanja mehurčkov

Zdaj pa si poglejmo algoritem za razvrstitvijo mehurčkov.

razlika med podajanjem po vrednosti in prenosom prek reference v javi

Prva podaja:

( 16.19 , 11,15,10) -> ( 16.19 , 11,15,10) - Algoritem primerja prva dva elementa in zamenjave od 19> 16

(16, 19.11 , 15.10) -> (16, 11.19 , 15.10) - Zamenjajte od 19> 11

(16.11, 19.15 , 10) -> (16,11, 15.19 , 10) - Zamenjaj od 19> 15

(16,11,15, 19.10 ) -> (16,11,15, 10.19 ) - Ker so ti elementi že v pravilnem vrstnem redu (19> 10), jih algoritem ne zamenja.

c ++ pojdite na

Drugi prehod:

( 16.11 , 15,10,19) -> ( 11.16 , 15,10,19) - Zamenjaj od 16> 11

(enajst, 16.15 , 10.19) -> (11, 15.16 , 10,19) - Zamenjaj od 16> 15

(11.15, 16.10 , 19) -> (11,15, 10.16 , 19) - Zamenjaj od 16> 10

(11,15,10,16,19) -> (11,15,10,16,19)

The je razvrščeno, vendar naš algo ne ve, ali je končan. Zato potrebuje še en celoten prehod brez kakršne koli zamenjave, da ve, da je razvrščen.

Tretji prehod:

(enajst, 15.10 , 16,19) -> (11, 15.10 , 16,19)

(enajst, 15.10 , 16,19) -> (11, 10.15 , 16,19) - Zamenjaj od 15> 10

(11,10,15,16,19) -> (11,10,15,16,19)

(11,10,15,16,19) -> (11,10,15,16,19)

Četrti prehod:

( 11.10 , 15,16,19) -> ( 10.11 , 15,16,19) - Zamenjaj od 11> 10

Končni izhod je (10,11,15,16,19)

kako ustvariti dinamično matriko v javi -

Naj zdaj to kodiramo -

Python program za izvajanje Bubble Sort

a = [16, 19, 11, 15, 10, 12, 14]

# ponavljajoča se zanka len (a) (število elementov) število krat za j v obsegu (len (a)): # začetno zamenjano je lažno zamenjano = napačno i = 0, medtem ko je ia [i + 1]: # zamenjava a [i ], a [i + 1] = a [i + 1], a [i] # Spreminjanje vrednosti zamenjanega zamenjanega = True i = i + 1 # če je zamenjano neresnično, potem je seznam razvrščen # lahko ustavimo zanko če je zamenjano == napačno: lomi tisk (a)
 IZHOD: 


V zgornji kodi primerjamo sosednje številke in jih zamenjamo, če niso v pravilnem vrstnem redu. Ponovite isti postopek len (a) večkrat. Spremenljivki smo dodelili 'zamenjano' in jo postavili kot 'Resnično', če se v iteraciji zamenjata katera koli dva elementa. In če ni izmenjave elementov, je seznam že razvrščen in zato vrednost 'zamenjanega' ni spremenjena in zanko lahko prekinemo.

S tem smo prišli do konca spletnega dnevnika z naslovom »Kako implementirati Bubble Sort v Pythonu«. Upam, da je vsebina dodala vrednost vašemu znanju Pythona.

Poskrbite, da boste čim več vadili in si povrnili izkušnje.

Imate vprašanje za nas? Prosimo, omenite ga v oddelku za komentarje tega bloga »Kako implementirati razvrščanje mehurčkov v Pythonu«, mi se vam bomo javili v najkrajšem možnem času.

Če želite pridobiti poglobljeno znanje o Pythonu skupaj z različnimi aplikacijami, se lahko prijavite v živo s 24-urno podporo in življenjskim dostopom.