Kako implementirati Bubble Sort u Python?



Na ovom ćete blogu naučiti kod i objašnjenje sortiranja Pythonova popisa pomoću mjehurića sortiranja metodom zamjene.

Sortiranje znači slaganje bilo kojih podataka u rastućem ili manjem redoslijedu prema nekom linearnom odnosu među elementima. Ovaj članak o Bubble Sort in pomoći će vam da detaljno razumijete ovaj koncept.

Na ovom ćemo blogu pokriti sljedeće teme:





Što je sortiranje mjehurića?

Sorta mjehurića poznata je i kao sorta koja tone. To je jednostavan algoritam za sortiranje koji neprestano korača kroz popis radi razvrstavanja, uspoređujući svaki par susjednih predmeta i mijenjajući ih ako nisu u ispravnom redoslijedu. Koraci se ponavljaju sve dok više nisu potrebne zamjene, a to je kada se popis sortira.

što je tostring metoda u javi

Koraci za izvođenje sortiranja mjehurića

  • Usporedite prvi i drugi element na popisu i zamijenite ih ako su u pogrešnom redoslijedu.
  • Usporedite drugi i treći element i zamijenite ih ako su u pogrešnom redoslijedu.
  • Nastavite slično do zadnjeg elementa popisa na sličan način.
  • Ponavljajte sve gornje korake dok se popis ne sortira.

Gornji koraci bit će jasniji sljedećim vizualizacijama -



Razvrstavanje mjehurića u Pythonu - Edureka



Algoritam sortiranja mjehurića

Pogledajmo sada algoritam iza sortiranja mjehurića.

Prvo dodavanje:

( 16.19 , 11,15,10) -> ( 16.19 , 11,15,10) - Algoritam uspoređuje prva dva elementa i zamjene od 19> 16

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

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

(16,11,15, 19.10 ) -> (16,11,15, 10.19 ) - Sada, budući da su ti elementi već u ispravnom redoslijedu (19> 10), algoritam ih ne zamjenjuje.

Drugi prolaz:

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

(jedanaest, 16.15 , 10.19) -> (11, 15.16 , 10,19) - Zamijeni od 16> 15

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

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

The je sortirano, ali naš algo ne zna je li dovršen. Stoga mu treba još jedna cijela propusnica bez ikakve zamjene da bi se znalo da je sortirano.

Treće dodavanje:

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

(jedanaest, 15.10 , 16,19) -> (11, 10.15 , 16,19) - Zamijeni od 15> 10

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

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

Četvrti prolaz:

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

Konačni izlaz je (10,11,15,16,19)

uloge i odgovornosti hadoop programera

Kodirajmo ovo sada -

Python program za implementaciju Bubble Sort

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

# ponavljanje petlje len (a) (broj elemenata) broj puta za j u rasponu (len (a)): # početno zamijenjeno je lažno zamijenjeno = False i = 0 dok je ia [i + 1]: #swapping a [i ], a [i + 1] = a [i + 1], a [i] # Promjena vrijednosti zamijenjenog zamijenjenog = Tačno i = i + 1 #ako je zamijenjen netačan, tada je popis sortiran # možemo zaustaviti petlju ako je zamijenjeno == Netačno: prijelom ispisa (a)
 IZLAZ: 


U gornjem kodu uspoređujemo susjedne brojeve i zamjenjujemo ih ako nisu u ispravnom redoslijedu. Ponovite isti postupak len (a) nekoliko puta. Dodijelili smo varijablu 'zamijenjeno' i postavili je 'Istina' ako se bilo koja dva elementa zamijene u iteraciji. A ako nema međusobne izmjene elemenata, tada je popis već sortiran i prema tome, nema promjene vrijednosti 'zamijenjenog' i možemo prekinuti petlju.

Ovime smo došli do kraja bloga pod nazivom 'Kako implementirati Bubble Sort u Pythonu'. Nadam se da je sadržaj dodao vrijednost vašem znanju Pythona.

Obavezno vježbajte što je više moguće i vratite svoje iskustvo.

Imate pitanje za nas? Molimo vas da ga spominjete u odjeljku za komentare ovog bloga 'Kako implementirati Bubble Sort in Python' i javit ćemo vam se što je prije moguće.

Da biste stekli detaljno znanje o Pythonu, zajedno s raznim aplikacijama, možete se prijaviti uživo s 24/7 podrškom i doživotnim pristupom.