Kuinka Bubble Sort otetaan käyttöön Pythonissa?



Tässä blogissa opit koodin ja selityksen Pythonin luettelon lajittelusta kuplalajittelun avulla vaihtomenetelmällä.

Lajittelu tarkoittaa minkä tahansa datan järjestämistä kasvavassa tai laskevassa järjestyksessä jonkin lineaarisen suhteen mukaan elementtien välillä. Tämä artikkeli Bubble Sort in auttaa ymmärtämään tätä käsitettä yksityiskohtaisesti.

Käsittelemme seuraavia aiheita tässä blogissa:





Mikä on Bubble Sort?

Bubble sort tunnetaan myös nimellä uppoava lajittelu. Se on yksinkertainen lajittelualgoritmi, joka kulkee jatkuvasti läpi lajiteltavan luettelon vertaamalla kutakin vierekkäisten kohteiden paria ja vaihtamalla niitä, jos ne eivät ole oikeassa järjestyksessä. Vaiheet toistetaan, kunnes uusia vaihtoja ei tarvita, jolloin luettelo on lajiteltu.

Bubble Lajittelun vaiheet

  • Vertaa luettelon ensimmäistä ja toista elementtiä ja vaihda, jos ne ovat väärässä järjestyksessä.
  • Vertaa toista ja kolmatta elementtiä ja vaihda ne, jos ne ovat väärässä järjestyksessä.
  • Jatka samalla tavalla luettelon viimeiseen osaan asti.
  • Toista kaikkia yllä olevia vaiheita, kunnes luettelo on lajiteltu.

Yllä olevat vaiheet ovat selkeämpiä seuraavilla visualisoinnilla -



Kuplalajittelu Pythonissa - Edureka

iso dataopetus aloittelijoille



Kuplalajittelualgoritmi

Katsokaamme nyt Bubble Sortin takana olevaa algoritmia.

Ensimmäinen syöttö:

( 16.19 , 11,15,10) -> ( 16.19 , 11,15,10) - Algoritmi vertaa kahta ensimmäistä elementtiä ja vaihtaa välillä 19> 16

(16, 19.11 15.10) -> (16, 11.19 15.10) - Vaihda vuodesta 19> 11

(16.11, 19.15 , 10) -> (16,11, 15.19 , 10) - Vaihda vuodesta 19> 15

(16,11,15, 19.10 ) -> (16,11,15, 10.19 ) - Koska nämä elementit ovat jo oikeassa järjestyksessä (19> 10), algoritmi ei vaihda niitä.

Toinen passi:

( 16.11 , 15,10,19) -> ( 11.16 , 15,10,19) - Vaihda vuodesta 16> 11

(yksitoista, 16.15 , 10,19) -> (11, 15.16 , 10,19) - Vaihda vuodesta 16> 15

(11.15, 16.10 , 19) -> (11,15, 10.16 , 19) - Vaihda vuodesta 16> 10

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

on lajiteltu, mutta algomme ei tiedä onko se valmis. Siksi se tarvitsee toisen kokonaisen passin ilman vaihtoja tietääkseen, että se on lajiteltu.

Kolmas passi:

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

(yksitoista, 15.10 , 16,19) -> (11, 10.15 , 16,19) - Vaihda vuodesta 15> 10

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

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

Neljäs passi:

( 11.10 , 15,16,19) -> ( 10.11 , 15,16,19) - Vaihda vuodesta 11> 10

Lopullinen tuotos on (10,11,15,16,19)

Koodataan tämä nyt -

Python-ohjelma Bubble Lajittelun toteuttamiseksi

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

#toistuva silmukka len (a) (elementtien lukumäärä) kertojen määrä j: lle alueella (len (a)): #alunvaihto on väärä vaihdettu = väärä i = 0 kun ia [i + 1]: ], a [i + 1] = a [i + 1], a [i] # Vaihdetun vaihdetun arvon muuttaminen = True i = i + 1 # jos vaihdettu on väärä, luettelo on lajiteltu # voimme lopettaa silmukan jos vaihdettu == False: break break (a)
 LÄHTÖ: 


Edellä olevassa koodissa verrataan vierekkäisiä numeroita ja vaihdetaan ne, jos ne eivät ole oikeassa järjestyksessä. Toista sama prosessi len (a) useita kertoja. Olemme määrittäneet muuttujan 'vaihdettu' ja 'tosi', jos kaksi elementtiä vaihdetaan iteraatiossa. Ja jos elementtejä ei vaihdeta, luettelo on jo lajiteltu, joten 'vaihdetun' arvossa ei ole muutoksia ja voimme katkaista silmukan.

Tämän avulla olemme päättäneet blogin nimeltä 'Kuinka toteuttaa Bubble Sort Pythonissa'. Toivon sisällön lisäarvoa Python-tietämyksellesi.

Varmista, että harjoittelet mahdollisimman paljon ja palauta kokemuksesi.

Onko sinulla kysymys meille? Mainitse se tämän 'How to Bubble Sort in Python' -blogin kommenttiosassa ja otamme sinuun yhteyttä mahdollisimman pian.

Saadaksesi syvällistä tietoa Pythonista sen eri sovellusten kanssa, voit ilmoittautua livenä 24/7 -tuella ja käyttöikä.