Introducere în Bubble Sort în Python
Sortarea bulelor este un algoritm de sortare simplu și logic. Principiul său de lucru se bazează pe schimbarea recursivă a elementelor adiacente dacă comanda este incorectă. În acest subiect, vom afla despre Sortarea Bulelor în Python.
Sortul cu bule, uneori, denumit și Sinking sort, Ripple sort.
Să o vedem printr-un exemplu:
Prima alergare
( 6 1 4 3) -> ( 1 6 4 2): Aici primele două elemente sunt schimbate dacă comanda nu este corectă.
(1 6 4 2) -> (1 4 6 2): Aici se schimbă următoarele două elemente dacă comanda nu este corectă.
(1 4 6 2 ) -> (1 4 2 6 ): Aici se schimbă următoarele două elemente dacă comanda nu este corectă.
Al doilea alergare
( 1 4 2 6) -> ( 1 4 2 6): Aici se compară primul element, dar nu se schimbă, deoarece comanda este corectă.
(1 4 2 6) -> (1 2 4 6): Aici se schimbă următoarele două elemente, întrucât comanda nu a fost corectă.
(1 2 4 6 ) -> (1 2 4 6 ): Aici se compară ultimele două elemente, dar nu au fost schimbate așa cum este ordinea
Acum știm că tabloul pare sortat, cu toate acestea, este necesară o execuție fără nicio schimbare, la algoritm pentru a ști dacă se face sortarea.
Al treilea alergat
( 1 2 4 6) -> ( 1 2 4 6): Nu există schimb în primele două elemente.
(1 2 4 6) -> (1 2 4 6): Nu se face schimb pentru următoarele două elemente.
(1 2 4 6 ) -> (1 2 4 6 ): Nici o schimbare în ultimele două elemente.
Deoarece nu s-a produs nicio schimbare în nicio etapă, acum algoritmul înțelege că sortarea este perfectă.
Sortul de bule și-a luat numele, deoarece elementele se deplasează în ordinea corectă, care este ca niște bule care se ridică la suprafață.
Bulă sortată în Python Language
Acum să vedem implementarea logică a sortării de bule prin python. Python este un limbaj foarte utilizat în aceste zile. Înțelegerea acesteia prin python vă va oferi cu siguranță încrederea de a putea să-l scrieți și în alte limbi.
Codul 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)
Pentru a tipări tabloul după sortarea cu bule, aveți nevoie de codul următor:
for i in range(len(arr)):
print("%d" %arr(i)),
Here arr will be your array.
Explicarea codului Python
Aici „m” este lungimea tabloului. Două pentru bucle dețin logica de teren reală, unde „u” reprezintă primul element, în timp ce „v” reprezintă al doilea cu care primul element trebuie comparat cu schimbarea, dacă ordinea de sortare între ambele nu este corectă.
„Arr (v)> arr (v + 1)” reprezintă compararea elementelor consecutive, dacă primul element este mai mare decât al doilea element, operația de schimb se va efectua prin următoarea expresie:
Adică „arr (v), arr (v + 1) = arr (v + 1), arr (v)”.
Această operațiune de schimb se numește swap. Partea bună este că nu este necesară memorie temporară pentru acest tip de operare de swap.
„U” reprezintă bucla fiecărei rulări, în timp ce „v” reprezintă etapele fiecărei etape. Se poate face referire la un exemplu din secțiunea de mai sus.
După efectuarea sortării cu bule, se poate vedea tabloul sortat, cu codul menționat mai jos:
for i in range(len(arr)):
print ("%d" %arr(i)),
Să vedem cum se comportă acest lucru în Python IDE, pentru o înțelegere mai profundă:
ieşire:
Există câteva date despre Bubble Sort, pe care toată lumea ar trebui să le știe înainte de a le pune în aplicare:
- Un fel de bule este adesea considerat ca o metodă de sortare eficientă. Deoarece trebuie să facă schimb de articole până când este cunoscută locația finală. Toate acestea duc la pierderea operațiunilor și, prin urmare, foarte costisitoare. Acest algoritm trece prin fiecare element, unde sortarea este necesară sau nu este necesară. Odată ce rularea trece fără nicio schimbare, sortarea cu bule este considerată finalizată.
- Aceasta este cea mai simplă dintre toate structurile de date, pentru orice începător aceasta oferă o încredere bună. Este ușor de construit și de înțeles.
- Folosește mult timp și memorie.
- Acesta este considerat un algoritm stabil, deoarece păstrează ordinea relativă a elementelor.
- Considerat bun pentru o listă mică / listă. Cu toate acestea, este o idee proastă să-l folosești pentru lungi.
Concluzie
Parcurgând conținutul de mai sus al sortării cu bule, s-ar fi putut înțelege clar acest algoritm de sortare, specializat în python. Odată, cineva se simte confortabil cu logica sortării bulelor, înțelegerea celuilalt set de structuri de date va fi mai ușoară. O abordare logică este singura modalitate de a excela în domeniul structurii datelor. Înțelegerea mai întâi a logicii algoritmului structurii de date în fiecare etapă și apoi direcționarea codului său prin Python sau în orice altă limbă ar trebui să fie calea.
Articole recomandate
Acesta este un ghid pentru Bubble Sort din Python. Aici discutăm implementarea logică a sortării bulelor prin codul piton cu explicația. De asemenea, puteți consulta articolul următor pentru a afla mai multe -
- Bucle în Python
- Python File Operations
- Palindrom în Python
- 3D Array-uri în Python
- Caracteristici Python
- Schimbarea în PHP
- Arrayuri 3D în C ++
- Palindrom în C ++
- Palindrom în JavaScript
- Cum funcționează Schițele și Listele în Python?