Uvod v Bubble Sort in Python

Razporeditev mehurčkov je preprost in logičen algoritem razvrščanja. Njeno načelo delovanja temelji na rekurzivni zamenjavi sosednjih elementov, če je naročilo napačno. V tej temi bomo spoznali Bubble Sort v Pythonu.

Sorta mehurčkov se včasih imenuje tudi sorta potopitev, sorta Ripple.

Poglejmo ga na primeru:

Prvi tek

( 6 1 4 3) -> ( 1 6 4 2): Tu se prvi elementi zamenjajo, če vrstni red ni pravilen.

(1 6 4 2) -> (1 4 6 2): Tu se zamenjata naslednja dva elementa, če vrstni red ni pravilen.

(1 4 6 2 ) -> (1 4 2 6 ): Tu se zamenjata naslednja dva elementa, če vrstni red ni pravilen.

Drugi tek

( 1 4 2 6) -> ( 1 4 2 6): Tu se primerjata prva dva elementa, vendar se nista zamenjala, ker je vrstni red pravilen.

(1 4 2 6) -> (1 2 4 6): Tu se zamenjata naslednja dva elementa, saj vrstni red ni bil pravilen.

(1 2 4 6 ) -> (1 2 4 6 ): Tu se primerjata zadnja dva elementa, vendar se nista zamenjala po vrstnem redu

Zdaj vemo, da je matrika videti razvrščena, vendar je potreben en zagon brez kakršne koli zamenjave, da bi algoritem vedel, ali je razvrščanje opravljeno.

Tretji tek

( 1 2 4 6) -> ( 1 2 4 6): Ni zamenjave prvih dveh elementov.

(1 2 4 6) -> (1 2 4 6): V naslednjih dveh elementih ni nobene zamenjave.

(1 2 4 6 ) -> (1 2 4 6 ): v zadnjih dveh elementih ni nobene zamenjave.

Ker v nobeni fazi ni prišlo do zamenjave, zdaj algoritem razume, da je razvrščanje popolno.

Vrsta mehurčkov je dobila svoje ime, ker se elementi premikajo v pravilnem vrstnem redu, ki je kot mehurčki, ki se dvigajo na površino.

Razporeditev mehurčkov v jeziku Python

Zdaj si oglejmo logično izvedbo razvrščanja mehurčkov skozi python. Python je v današnjem času zelo razširjen jezik. Če ga razumete prek pythona, vam bo zagotovo zaupal, da ga boste znali zapisati tudi v drugih jezikih.

Koda Python

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)

Za tiskanje matrike po razvrščanju mehurčkov morate slediti kodo:

for i in range(len(arr)):
print("%d" %arr(i)),
Here arr will be your array.

Pojasnilo kode Python

Tu je "m" dolžina matrike. Dve zanki vsebujeta dejansko osnovno logiko, pri čemer "u" predstavlja prvi element, medtem ko "v" predstavlja drugi, s katerim mora prvi element primerjati za zamenjavo, če vrstni red razvrstitve med obema ni pravilen.

"Arr (v)> arr (v + 1)" to predstavlja primerjavo zaporednih elementov, če je prvi element večji od drugega elementa, bo operacija izmenjave izvedena z naslednjim izrazom:

To je „arr (v), arr (v + 1) = arr (v + 1), arr (v)“.

Ta menjalna operacija se imenuje swap. Dobra stran je, da za tovrstno delovanje izmenjave ni potreben začasni pomnilnik.

"U" predstavlja zanko vsakega poteka, medtem ko "v" predstavlja stopnje vsake stopnje. Primer zgornjega odseka.

Po izvedbi razvrščanja mehurčkov si lahko ogledate razvrščen niz s spodnjo kodo:

for i in range(len(arr)):
print ("%d" %arr(i)),

Poglejmo, kako se to obnaša v programu Python IDE za globlje razumevanje:

Izhod:

Obstaja nekaj dejstev o Bubble Sort, ki bi jih morali vsi vedeti, preden jo začnejo izvajati:

  1. Razporeditev mehurčkov se pogosto obravnava kot premalo učinkovita metoda razvrščanja. Kot si mora izmenjati predmete, dokler ni znana njihova končna lokacija. Vse to vodi v izgubo poslovanja in zato zelo drago. Ta algoritem poteka skozi vsak element, kjer je potrebno razvrščanje ali ne. Ko teče postopek brez zamenjave, se razvrščanje mehurčkov šteje za dokončano.
  2. To je najpreprostejša med vsemi podatkovnimi strukturami, saj za vsakega začetnika to daje dobro zaupanje. Sestaviti in razumeti ga je enostavno.
  3. Uporablja veliko časa in spomina.
  4. To velja za stabilen algoritem, saj ohranja relativni vrstni red elementov.
  5. Šteje se za dobro za niz / seznam. Vendar je slaba ideja, da jo uporabljate za dolge.

Zaključek

Skozi zgoraj navedeno vsebino mehurčkov bi lahko dobili kristalno jasno razumevanje tega algoritma za razvrščanje, specializiranega za python. Ko se človek enkrat zadovolji z logiko razvrščanja mehurčkov, bo razumevanje drugega sklopa podatkovnih struktur lažje. Logičen pristop je edini način za uspeh na področju strukture podatkov. Najprej je treba razumeti logiko algoritma strukture podatkov na vsaki stopnji in nato usmeriti njeno kodo prek Pythona ali v katerem koli drugem jeziku.

Priporočeni članki

To je vodnik za Bubble Sort in Python. Tukaj razpravljamo o logični izvedbi razvrščanja mehurčkov preko kode python z razlago. Če želite izvedeti več, si oglejte tudi naslednji članek -

  1. Zanke v Pythonu
  2. Operacije datotek Python
  3. Palindrom v Pythonu
  4. 3d matriki v Pythonu
  5. Značilnosti Pythona
  6. Zamenjava v PHP
  7. 3D matriki v C ++
  8. Palindrom v C ++
  9. Palindrome v JavaScript
  10. Kako matriki in seznami delujejo v Pythonu?