Hogyan valósítható meg a Bubble Sort a Pythonban?



Ebben a blogban megismerheti a Python-lista válogatásának kódját és magyarázatát a csere módszerrel végzett buborék-rendezés segítségével.

A rendezés azt jelenti, hogy az adatokat növekvő vagy csökkenő sorrendbe rendezzük az elemek közötti lineáris összefüggés szerint. Ez a cikk a Bubble Sort kategóriában segít megérteni ezt a koncepciót részletesen.

Ebben a blogban az alábbi témákkal foglalkozunk:





Mi a Bubble Sort?

A buborékfajta más néven süllyedő rendezés. Ez egy egyszerű rendezési algoritmus, amely folyamatosan lépeget a rendezni kívánt listán, összehasonlítva a szomszédos elemek egyes párjait, és felcserélve azokat, ha nem a megfelelő sorrendben vannak. A lépéseket addig ismételjük, amíg nincs szükség további csereügyletekre, ekkor rendezik a listát.

A Bubble Sort végrehajtásának lépései

  • Hasonlítsa össze a lista első és második elemét, és cserélje fel, ha rossz sorrendben vannak.
  • Hasonlítsa össze a második és a harmadik elemet, és cserélje ki őket, ha rossz sorrendben vannak.
  • Hasonló módon járjon el a lista utolsó eleméig hasonló módon.
  • Addig ismételje a fenti lépéseket, amíg a lista rendeződik.

A fenti lépések a következő megjelenítésekkel lesznek egyértelműbbek -



Buborékfajta Python - Edureka



Bubble Sort algoritmus

Most nézzük meg a Bubble Sort mögött álló algoritmust.

Első passz:

( 16.19 , 11,15,10) -> ( 16.19 , 11,15,10) - Az algoritmus összehasonlítja az első két elemet, és 19> 16 óta cserél

(16, 19.11 , 15.10) -> (16, 11.19 , 15.10) - Csere 19> 11 óta

(16.11, 19.15 , 10) -> (16,11, 15.19 , 10) - Csere 19> 15 óta

(16,11,15, 19.10 ) -> (16,11,15, 10.19 ) - Mivel ezek az elemek már a megfelelő sorrendben vannak (19> 10), az algoritmus nem cseréli fel őket.

Második passz:

( 16.11 , 15,10,19) -> ( 11.16 , 15,10,19) - Csere 16> 11 óta

hogyan lehet kilépni a java programból

(tizenegy, 16.15 , 10,19) -> (11, 15.16 , 10,19) - Csere 16> 15 óta

(11.15, 16.10 , 19) -> (11,15, 10.16 , 19) - Csere 16> 10 óta

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

Az rendezve van, de algónk nem tudja, hogy elkészült-e. Ennélfogva még egy egész bérletre van szükség minden csere nélkül, hogy tudja, hogy rendezve van.

Harmadik passz:

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

(tizenegy, 15.10 , 16,19) -> (11, 10.15 , 16,19) - Csere 15> 10 óta

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

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

Negyedik menet:

( 11.10 , 15,16,19) -> ( 10.11 , 15,16,19) - Csere 11> 10 óta

A végeredmény (10,11,15,16,19)

Most kódoljuk be ezt -

Python program a Bubble Sort megvalósításához

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

# ismétlődő ciklus len (a) (elemek száma), ahányszor a j tartományban van (len (a)): # eredetileg felcserélve hamis csere = hamis i = 0, míg ia [i + 1]: ], a [i + 1] = a [i + 1], a [i] #A felcserélt érték megváltoztatása = True i = i + 1 # ha cserélve hamis, akkor a lista rendezve van # leállíthatjuk a ciklust ha felcserélik == Hamis: törje a nyomtatást (a)
 KIMENET: 


A fenti kódban összehasonlítjuk a szomszédos számokat és felcseréljük őket, ha nem a megfelelő sorrendben vannak. Ismételje meg ugyanazt a folyamatot len ​​(a) alkalommal. Hozzárendeltünk egy változót „felcserélt” és „igaz” értékre, ha bármelyik két elem felcserélődik egy iterációban. És ha nincs elemcsere, akkor a lista már rendezve van, tehát nincs változás a „cseréltek” értékében, és megszakíthatjuk a ciklust.

Ezzel véget értünk a „Hogyan valósítsuk meg a Bubble Sort Python-ban” című blogot. Remélem, hogy a tartalom hozzáadott értéket nyújt a Python-tudásához.

Győződjön meg róla, hogy a lehető legtöbbet gyakorolja, és állítsa vissza a tapasztalatait.

Van egy kérdésünk? Kérjük, említse meg a „Hogyan valósítsuk meg a Bubble Sort Python-ban” blog megjegyzés rovatát, és amint lehetséges, kapcsolatba lépünk Önnel.

Ha mélyreható ismereteket szeretne szerezni a Pythonról és a különböző alkalmazásokról, regisztrálhat élőben 24/7 támogatással és élethosszig tartó hozzáféréssel.