Introducere în sortul de grămadă în Python

Oricare dintre limbajele de programare oferă diferite funcționalități în virtutea funcțiilor predefinite. Utilizând metodele predefinite și caracteristicile oferite de limbajul de programare, se poate dezvolta o aplicație complexă. Când vorbim despre transformarea valorilor listei în forma sortată, abordarea se numește sortare. Deși ieșirea sortării este aceeași indiferent de abordarea de sortare, cea mai bună abordare asigură eficiența sortării datelor. Când vine vorba de sortarea folosind limbajul de programare python, avem metoda sort () care poate pur și simplu să accepte valoarea și să o ordoneze în ordine crescătoare. În acest articol, vom învăța cum să sortăm datele din tablă în ordine crescătoare folosind sortare heap și vom folosi limbajul de programare piton pentru a efectua implementarea codului heapsort.

Cum funcționează Heap Sort în Python?

  • Înainte de a explica funcționarea Python, este important să înțelegem ce este în realitate și cum este diferit de alți algoritmi de sortare. Heapsort poate fi considerat ca abordarea de sortare în care valoarea maximă din listă este reînnoită și schimbată la ultima dintre matricea și procesul este păstrat la repetare Până când lista este transformată într-o listă ordonată. Calea care o face diferită de celelalte metode de sortare nu este altceva decât abordarea pe care o urmărește pentru a sorta toate valorile Array-ului. Acesta constă în procesul recursiv care durează până când valorile din Array sunt aranjate în ordine crescătoare.
  • Acum să înțelegem cum funcționează în detaliu sortarea haldei, folosind un exemplu. Să presupunem că arr este un tablou care deține valorile de 9, 5, 2. La început, valorile tabloului nu sunt aranjate într-un mod sortat, dar după efectuarea sortării haldei, acestea vor fi transformate în ordine crescătoare. Când algoritmul de tip heap este aplicat acestui tablou, primul lucru îl va face pentru a găsi cea mai mare valoare a noastră din tablou. Cum 9 este cea mai mare valoare, aceasta va fi mutată la ultimul index al listei și toate celelalte valori se vor muta cu un pas la stânga pentru a crea spațiu pentru deținerea celei mai mari valori. Odată ce 9 este mutat la ultimul index sau matriu, lista de valori va arăta ca 5, 2, 9.
  • Acum, totuși, tabloul nu este sortat, ceea ce indică faptul că același proces trebuie repetat din nou. Acum, în timp ce se va găsi cea mai mare valoare din lista valorilor neprocesate, 5 vor fi selectate ca a doua cea mai mare valoare și vor fi mutate în al doilea ultim index. După trecerea 5 la a doua ultimă poziție, tabloul va fi transformat într-un tablou sortat și valorile vor fi aranjate în ordinea ascendentă a ansamblului de 2, 5, 9. Acesta este modul în care funcționează sortarea haldei. În termeni reali, identifică valoarea maximă și o mută la sfârșitul tabloului și continuă să efectueze același proces până când tabloul se transformă în tablă sortată.

Exemple pentru implementarea sortării haldei în Python

Pentru a afla conceptul de heapsort, să-l înțelegem folosind exemplul propriu-zis. Vom implementa algoritmul de sortare a haldelor folosind limbajul python. Pentru a dezvolta programul, vom folosi bucla for pentru a aduce mecanismul de recurs și vom folosi dacă verificăm condițiile dacă verificăm condițiile. În codul de mai jos, perform_heapsort este funcția care acceptă trei argumente: val_arr, num și count, unde var_arr este tabloul în timp ce num și numărătura sunt de un tip de date întreg. Ideea codului de mai jos este de a găsi cel mai mare număr și de a-l menține temporar în variabila max_val până când este deplasată la sfârșitul tabloului. Dacă o instrucțiune a fost utilizată pentru a se asigura că cea mai mare valoare este deplasată la poziția corespunzătoare și această poziție este blocată de la actualizarea cu următoarea cea mai mare valoare din listă. Programul va repeta abordarea de a găsi cea mai mare valoare și de a o muta până la sfârșit până când lista se va adapta la cea sortată.

Cod:

def perform_heapsort(val_arr, num, count):
max_val = count
counter1 = 2 * count + 1
counter2 = 2 * count + 2
if counter1 < num and val_arr(count) < val_arr(counter1):
max_val = counter1
if counter2 < num and val_arr(max_val) < val_arr(counter2):
max_val = counter2
if max_val != count:
val_arr(count), val_arr(max_val) = val_arr(max_val), val_arr(count) perform_heapsort(val_arr, num, max_val)
def heapSort(val_arr):
num = len(val_arr)
for count in range(num, -1, -1):
perform_heapsort(val_arr, num, count)
for count in range(num-1, 0, -1):
val_arr(count), val_arr(0) = val_arr(0), val_arr(count) # swap
perform_heapsort(val_arr, count, 0)
val_arr = ( 52, 91, 64, 252, 36, 91, 5, 35, 28) heapSort(val_arr)
num = len(val_arr)
print ("Values after performing heapsort")
for count in range(num):
print ("%d" %val_arr(count)),

În acest program, valorile au fost alocate manual prin intermediul codului. Var_arr este tabloul care deține valorile. În acest exemplu, am atribuit 9 valori gamei. Valorile din tablă vor fi trecute la metoda numită perform_heapsort. Odată ce valorile intră în metodă, acestea vor fi procesate și programul va începe să găsească cea mai mare valoare din listă. Valoarea maximă din acest tablou este 252, astfel încât acesta va fi mutat la sfârșitul tabloului și acest proces va fi aplicat la toate valorile până când tabloul se va transforma în tablă sortată. Odată ce tabloul este sortat după program, rezultatul va fi afișat în ieșire.

ieşire:

Concluzie

Heapsort este unul dintre diverșii algoritmi de sortare. Ieșirea eventuală a acestui algoritm este lista sortată care are datele aranjate în ordinea ascendentă. Deoarece procesul se repetă și de fiecare dată când toate valorile sunt deplasate spre stânga pentru a ajusta valoarea maximă a listei de la sfârșitul tabloului, acesta este considerat algoritmul de sortare mai puțin eficient. Această abordare de sortare poate fi exploatată în aplicația care presupune să proceseze un număr mic de valori.

Articole recomandate

Acesta este un ghid pentru Heap Sort în Python. Aici vom discuta despre introducerea la Heap Sort în Python, Cum funcționează Heap Sort în Python și Exemplele pentru implementarea sortării Heap în Python. Puteți parcurge și alte articole sugerate pentru a afla mai multe-

  1. Ce este informatica?
  2. Ce este învățarea automată?
  3. Securitatea aplicațiilor web
  4. Caracteristici Python
  5. Ghid pentru sortarea algoritmilor în Python