Uvod v razvrščanje kopja v Pythonu

Kateri koli od programskih jezikov nudi različne funkcije zaradi vnaprej določenih funkcij. Z uporabo vnaprej določenih metod in funkcij, ki jih ponuja programski jezik, lahko razvijemo kompleksno aplikacijo. Ko govorimo o preoblikovanju vrednosti seznama v razvrščeno obliko, pristop imenujemo razvrščanje. Čeprav je izhod razvrščanja enak ne glede na pristop razvrščanja, najboljši pristop zagotavlja učinkovitost razvrščanja podatkov. Ko gre za razvrščanje s programskim jezikom python, imamo metoda sort (), ki lahko vrednost preprosto sprejme in jo razvrsti po naraščajočem vrstnem redu. V tem članku se bomo naučili, kako sortirati podatke matrike v naraščajočem vrstnem redu s pomočjo razvrščanja iz kopice in s programskim jezikom python bomo izvajali izvajanje kode nadomeščanja.

Kako Heap Sort deluje v Pythonu?

  • Preden razložim delovanje Pythona, je pomembno razumeti, kaj pravzaprav je in kako se razlikuje od drugih algoritmov za razvrščanje. Heapsort je mogoče obravnavati kot pristop razvrščanja, pri katerem se največja vrednost s seznama sreča in preusmeri na zadnji del matrike, postopek pa se nadaljuje s ponavljanjem, dokler se seznam ne pretvori v razvrščen seznam. način, po katerem se razlikuje od drugih metod razvrščanja, ni nič drugega kot samo pristop, ki mu sledi, da bi lahko razvrstili vse vrednosti matrike. Sestavljen je iz rekurzivnega procesa, ki traja, dokler se vrednosti v nizu ne razporedijo po naraščajočem vrstnem redu.
  • Zdaj nam razložimo, kako vrsta koščkov podrobno deluje s pomočjo primera. Recimo, da je arr matrika, ki vsebuje vrednosti kot 9, 5, 2. V začetku vrednosti matrike niso razporejene na sortiran način, ampak po izvedbi razvrstitve, se spremeni v naraščajoči vrstni red. Ko se algoritem razvrščanja v velikem obsegu uporabi za ta niz, bo prva stvar, ki jo bo naredil, našla največjo vrednost v matriki. Ker je 9 največja vrednost, se premakne na zadnji indeks seznama, vse ostale vrednosti pa se premaknejo še korak naprej, da se ustvari prostor za največjo vrednost. Ko se 9 premakne na zadnji indeks ali niz matrike, bo seznam vrednosti videti 5, 2, 9.
  • Zdaj še vedno ni razvrščena matrika, kar pomeni, da je treba ponoviti isti postopek. Zdaj ko bomo na seznamu nepredelanih vrednosti našli največjo vrednost, bo 5 izbrano kot drugo največjo vrednost in premaknjeno v drugi zadnji indeks. Po premiku 5 na drugem zadnjem mestu se matrika spremeni v razvrščeno matriko in vrednosti bodo razporejene v naraščajočem vrstnem redu kot 2, 5, 9. Tako deluje vrsta razvrščanja. Dejansko identificira največjo vrednost in jo premakne na konec matrike in nadaljuje z istim postopkom, dokler se matrika ne spremeni v razvrščeno matriko.

Primeri za izvajanje razvrščanja heap v Python-u

Če se želite naučiti koncept velikega števila, ga razumejmo na dejanskem primeru. Izvajali bomo algoritem razvrščanja z uporabo kopice z uporabo jezika python. Za razvoj programa bomo uporabili zanko for, da prinesemo rekurzijski mehanizem, in bomo uporabili, če pogoje preverjamo, da preverimo pogoje. V spodnji kodi je izvedbena_heapsort funkcija, ki sprejme tri argumente: val_arr, število in število, pri čemer je var_arr matrika, medtem ko sta num in count celo število podatkovnih vrst. Ideja spodnje kode je najti največje število in ga začasno zadržati v spremenljivki max_val, dokler se ne premakne na konec matrike. Če je bila izjava uporabljena za zagotovitev, da se največja vrednost premakne na ustrezen položaj in se ta položaj prepreči, da bi jo posodobila naslednja največja vrednost na seznamu. Program bo ponovil pristop k iskanju največje vrednosti in ga premaknil do konca, dokler se seznam ne uvrsti v razvrščeno.

Koda:

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)),

V tem programu so bile vrednosti dodeljene ročno s pomočjo kode. Var_arr je matrika, ki vsebuje vrednosti. V tem primeru smo matriki dodelili 9 vrednosti. Vrednosti v matriki bodo posredovane metodi z imenom perform_heapsort. Ko vrednosti vnesejo metodo, jo bomo obdelali in program bo začel najti največjo vrednost s seznama. Največja vrednost v tem polju je 252, tako da se bo premaknil na konec matrike in ta postopek bo uporabljen za vse vrednosti, dokler se matrika ne spremeni v razvrščeno matriko. Ko razvrstimo matriko po programu, se v izhodu prikaže izhod.

Izhod:

Zaključek

Heapsort je eden izmed različnih algoritmov za razvrščanje. Končni izid tega algoritma je razvrščen seznam, ki ima podatke razporejene v naraščajočem vrstnem redu. Ko se postopek ponavlja in vsakič, ko se vse vrednosti premaknejo v levo, da se prilagodi največja vrednost seznama na koncu matrike, velja za manj učinkovit algoritem razvrščanja. Ta pristop razvrščanja je mogoče uporabiti v aplikaciji, ki naj bi obdelala majhno število vrednosti.

Priporočeni članki

To je vodnik za Razvrščanje po Heap v Python-u. Tukaj razpravljamo o uvodu v razvrščanje heap v Python-u, kako Heap Sort deluje v Python-u in o primerih izvajanja razvrščanja heap v Python-u. Obiščite lahko tudi druge naše predlagane članke, če želite izvedeti več -

  1. Kaj je računalništvo?
  2. Kaj je strojno učenje?
  3. Varnost spletnih aplikacij
  4. Značilnosti Pythona
  5. Vodnik za razvrščanje algoritmov v Pythonu