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 Bubble Sort végrehajtásának lépései
- Bubble Sort algoritmus
- Python program a megvalósításhoz ent Bubble Sort
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 -
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.