Kuidas rakendada Bubble Sort Pythonis?



Selles ajaveebis saate teada Pythoni loendi sortimise koodi ja selgituse vahetusmeetodi abil mullide sortimise abil.

Sorteerimine tähendab mis tahes andmete korrastamist kasvavas või kahanevas järjestuses vastavalt mõnele lineaarsele seosele elementide vahel. See artikkel mullide sortimise kohta aitab teil sellest kontseptsioonist üksikasjalikult aru saada.

Käsitleme siin blogis järgmisi teemasid:





Mis on mullide sortimine?

Mullisort on tuntud ka kui vajuv sort. See on lihtne sorteerimisalgoritm, mis sirvib pidevalt sorteeritavat loendit, võrreldes kõrvuti asetsevaid üksusi ja vahetades neid, kui need pole õiges järjekorras. Samme korratakse seni, kuni enam vahetustöid pole vaja, see on siis, kui loend on sorditud.

Mullisorteerimise toimingud

  • Võrrelge loendi esimest ja teist elementi ning vahetage, kui need on vales järjekorras.
  • Võrrelge teist ja kolmandat elementi ning vahetage need omavahel, kui need on vales järjekorras.
  • Jätkake samamoodi kuni loendi viimase elemendini.
  • Korrake kõiki ülaltoodud samme, kuni loend on sorditud.

Ülaltoodud toimingud on selgemad järgmiste visualiseerimiste abil -



Mullide sortimine Pythonis - Edureka



Mullide sorteerimise algoritm

Vaatame nüüd mullide sorteerimise taga olevat algoritmi.

Esimene käik:

kuidas java võimule teha

( 16.19 , 11,15,10) -> ( 16.19 , 11,15,10) - Algoritm võrdleb kahte esimest elementi ja vahetab alates 19> 16

(16, 19.11 , 15.10) -> (16, 11.19 , 15.10) - Vaheta alates 19> 11

(16.11, 19.15 , 10) -> (16,11, 15.19 , 10) - Vaheta alates 19> 15

(16,11,15, 19.10 ) -> (16,11,15, 10.19 ) - Kuna need elemendid on juba õiges järjekorras (19> 10), siis algoritm neid ei vaheta.

Teine läbimine:

( 16.11 , 15,10,19) -> ( 11.16 , 15,10,19) - Vaheta alates 16> 11

(üksteist, 16.15 , 10.19) -> (11, 15.16 , 10,19) - Vaheta alates 16> 15

(11.15, 16.10 , 19) -> (11,15, 10.16 , 19) - Vaheta alates 16> 10

kuidas leida massiivi java suurim arv

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

The on sorteeritud, kuid meie algo ei tea, kas see on lõpule viidud. Seega vajab see järjekordset tervet läbimist ilma vahetuseta, et teada saada, et see on sorteeritud.

Kolmas pass:

(üksteist, 15.10 , 16,19) -> (11, 15.10 , 16,19)

(üksteist, 15.10 , 16,19) -> (11, 10.15 , 16,19) - Vaheta alates 15> 10

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

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

Neljas läbimine:

( 11.10 , 15,16,19) -> ( 10.11 , 15,16,19) - Vaheta alates 11> 10

Lõplik väljund on (10,11,15,16,19)

Kodeerime selle nüüd üles -

Bubble Sort rakendamiseks Pythoni programm

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

# korduv tsükkel len (a) (elementide arv) kordade arv vahemikus j (len (a)): # algselt vahetatud on vale vahetatud = Vale i = 0, samas kui ia [i + 1]: # vahetades a [i ], a [i + 1] = a [i + 1], a [i] # Vahetatud vahetatava väärtuse muutmine = True i = i + 1 # kui vahetatud on vale, siis loend on sorteeritud # võime peatada tsükli kui vahetatud == Vale: murda print (a)
 VÄLJUND: 


Ülaltoodud koodis võrdleme kõrvuti asetsevaid numbreid ja vahetame neid, kui need pole õiges järjekorras. Korrake sama protsessi len (a) mitu korda. Oleme määranud muutuja ‘vahetatud’ ja muutnud selle tõeseks, kui ükskõik milline kaks elementi iteratsioonis vahetatakse. Ja kui elemente ei vahetata, siis on loend juba sorteeritud ja seega ei muutu 'vahetatud' väärtus ja me võime katkestada tsükli.

c ++ massiivi sort

Sellega oleme jõudnud ajaveebi pealkirjaga “Kuidas rakendada mullide sorteerimist Pythonis”. Loodan, et sisu lisab teie Pythoni teadmistele lisaväärtust.

Harjutage kindlasti nii palju kui võimalik ja pöörake oma kogemused tagasi.

Kas teil on meile küsimus? Palun mainige seda selle ajaveebi “Kuidas rakendada mullide sorteerimist Pythonis” kommentaaride jaotises ja võtame teiega ühendust niipea kui võimalik.

Põhjalike teadmiste saamiseks Pythoni ja selle erinevate rakenduste kohta saate registreeruda otseülekandeks 24/7 toe ja ligipääsuga kogu eluks.