Bevezetés a Python Bubble Sort-be
A Bubble sort egy egyszerű és logikus rendezési algoritmus. Működési elve a szomszédos elemek rekurzív cseréjén alapul, ha a sorrend nem megfelelő. Ebben a témában megismerjük a Bubble Sort a Python-ban.
Buborék rendezés, amelyet néha süllyedő rendezésnek, Ripple rendezésnek is neveznek.
Nézzük meg egy példán keresztül:
Első futás
( 6 1 4 3) -> ( 1 6 4 2): Itt az első két elem felcserélésre kerül, ha a sorrend nem megfelelő.
(1 6 4 2) -> (1 4 6 2): Itt a következő két elem felcserélésre kerül, ha a sorrend nem megfelelő.
(1 4 6 2 ) -> (1 4 2 6 ): Itt a következő két elem felcserélésre kerül, ha a sorrend nem megfelelő.
Második futam
( 1 4 2 6) -> ( 1 4 2 6): Itt összehasonlítják az első két elemet, de nem cseréltek, mivel a sorrend helyes.
(1 4 2 6) -> (1 2 4 6): Itt a következő két elem felcserélésre kerül, mivel a sorrend nem volt megfelelő.
(1 2 4 6 ) -> (1 2 4 6 ): Itt összehasonlítják az utóbbi két elemet, de nem cseréltek meg, amilyen a sorrend
Most már tudjuk, hogy a tömb rendezettnek tűnik, azonban egyetlen futtatás szükséges csere nélkül, az algoritmushoz, hogy megtudjuk, van-e rendezés.
Harmadik futam
( 1 2 4 6) -> ( 1 2 4 6): Nincs csere az első két elemben.
(1 2 4 6) -> (1 2 4 6): Nincs csere a következő két elemben.
(1 2 4 6 ) -> (1 2 4 6 ): Nincs csere az utolsó két elemben.
Mivel egyetlen szakaszban sem történt csereügylet, most az algoritmus megérti, hogy a rendezés tökéletes.
A Bubble sort megkapta a nevét, mert az elemek feljebb kerülnek a megfelelő sorrendbe, amely olyan, mint a felszínre emelkedő buborékok.
Buborék rendezése Python nyelven
Most nézzük meg a buborék rendezésének logikus megvalósítását a pythonon keresztül. A Python manapság nagyon széles körben használt nyelv. A pythonon keresztüli megértés biztosan megbizonyosod arról, hogy bármilyen más nyelven is meg tudja írni.
Python kód
def bubble_Sort(arr):
m = len(arr)
# Traverse through all the array elements
for u in range(m):
for v in range(0, mu-1):
# traverse the array from 0 to mu-1
# Swap if the element is greater than adjacent next one
if arr(v) > arr(v+1) :
arr(v), arr(v+1) = arr(v+1), arr(v)
A tömb buborék rendezés utáni nyomtatásához a következő kódra van szüksége:
for i in range(len(arr)):
print("%d" %arr(i)),
Here arr will be your array.
A Python kód magyarázata
Itt az „m” a tömb hossza. A hurkok közül kettő a tényleges földi logikát tartja, ahol az „u” az első elem, a „v” pedig a második, amellyel az első elemnek összehasonlítania kell a cserét, ha a kettő közötti rendezési sorrend nem megfelelő.
„Arr (v)> arr (v + 1)”: ez az egymást követő elemek összehasonlítását jelenti, ha az első elem nagyobb, mint a második elem, akkor a csereműveletet a következő kifejezéssel hajtjuk végre:
Ez az “arr (v), arr (v + 1) = arr (v + 1), arr (v)”.
Ezt a csereműveletet swapnak hívják. A jó rész nem ideiglenes memória szükséges az ilyen csereműveletekhez.
Az „u” minden futtatás hurokát jelzi, „v” pedig minden szakasz szakaszát. A fenti szakasz példájára hivatkozhatunk.
A buborékrendezés elvégzése után láthatjuk a rendezett tömböt, az alább említett kóddal:
for i in range(len(arr)):
print ("%d" %arr(i)),
Lássuk, hogyan viselkedik ez a Python IDE-ben, a mélyebb megértés érdekében:
Kimenet:
Van néhány tény a Bubble Sort-ről, amelyeket mindenkinek tudnia kell a végrehajtás előtt:
- A buborékos rendezést gyakran nem túl hatékony, hatékony válogatási módszernek tekintik. Mivel ki kell cserélnie a tételeket, amíg a végső helyét nem ismerték. Mindez a műveletek pazarlásához vezet, és ezért nagyon költséges. Ez az algoritmus minden elemen áthalad, ahol a rendezés kötelező vagy nem kötelező. Amint a futás csere nélkül lejár, a buborék rendezését befejezettnek kell tekinteni.
- Ez az adatszerkezetek közül a legegyszerűbb, minden kezdő számára ez jó bizalmat ad. Könnyű felépíteni és megérteni.
- Nagyon sok időt és memóriát igényel.
- Ezt stabil algoritmusnak tekintik, mivel megőrzi az elemek relatív sorrendjét.
- Jónak tartja a kis tömböt / listát. Rossz ötlet azonban régóta használni.
Következtetés
A fenti buborékrendezés fenti tartalmán keresztül kristálytiszta megértést kaphatott a python-ra specializálódott válogatási algoritmusról. Ha egyszer elégedett a buborékfajta logikájával, akkor a többi adatszerkezet megértése könnyebb lesz. A logikus megközelítés az egyetlen módja annak, hogy kitűnjön az adatszerkezet területén. Először meg kell érteni az adatszerkezeti algoritmus logikáját minden szakaszban, majd a kódot Pythonon vagy más nyelven kell megcélozni.
Ajánlott cikkek
Ez egy útmutató a Python Bubble Sort-hez. Itt tárgyaljuk a buborék rendezés logikus megvalósítását a python-kódon keresztül a magyarázattal. A következő cikkben további információkat is megnézhet -
- Hurok a Pythonban
- Python fájlműveletek
- Palindrom Pythonban
- 3D tömbök a Python-ban
- Python szolgáltatások
- Csere a PHP-ben
- 3D tömbök C ++ formátumban
- Palindrom C ++ -ban
- Palindrome a JavaScript-ben
- Hogyan működnek a tömbök és a listák a Pythonban?