Bubble Sort of Python - A Bubble sort magyarázata minta kóddal

Tartalomjegyzék:

Anonim

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:

  1. 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.
  2. 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.
  3. Nagyon sok időt és memóriát igényel.
  4. Ezt stabil algoritmusnak tekintik, mivel megőrzi az elemek relatív sorrendjét.
  5. 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 -

  1. Hurok a Pythonban
  2. Python fájlműveletek
  3. Palindrom Pythonban
  4. 3D tömbök a Python-ban
  5. Python szolgáltatások
  6. Csere a PHP-ben
  7. 3D tömbök C ++ formátumban
  8. Palindrom C ++ -ban
  9. Palindrome a JavaScript-ben
  10. Hogyan működnek a tömbök és a listák a Pythonban?