Sissejuhatus Pythoni sorteerimisse

Mis tahes programmeerimiskeel pakub etteantud funktsioonide tõttu mitmesugust funktsionaalsust. Kasutades etteantud meetodeid ja programmeerimiskeele pakutavaid funktsioone, saab välja töötada keeruka rakenduse. Kui me räägime nimekirja väärtuste teisendamisest sorteeritud vormi, nimetatakse lähenemist sorteerimiseks. Kuigi sortimise väljund on sõltumata sorteerimisviisist sama, tagab parim lähenemisviis andmete sortimise efektiivsuse. Kui tegemist on sortimisega python-programmeerimiskeelt kasutades, siis on meil meetod sort (), mille abil saab lihtsalt väärtuse aktsepteerida ja kasvavas järjekorras sortida. Selles artiklis õpime, kuidas massiivi andmeid sorteerida kasvavas järjekorras, kasutades hunnikute sorteerimist, ning Python-i programmeerimiskeelt kasutades hunniku koodi rakendamiseks.

Kuidas Heap Sort Pythonis töötab?

  • Enne Pythoni töö selgitamist on oluline mõista, mis see tegelikult on ja kuidas see erineb teistest sortimisalgoritmidest. Heapsorti võib pidada sortimismeetodiks, mille korral loendist saadav maksimaalne väärtus võetakse arvesse ja nihutatakse massiivi viimaseks ning protsessi korratakse, kuni nimekiri teisendatakse sorteeritud loendisse. See, mis muudab selle teistest sortimismeetoditest erinevaks, pole midagi muud kui lihtsalt lähenemisviis, mida järgitakse massiivi kõigi väärtuste sorteerimiseks. See koosneb rekursiivsest protsessist, mis kestab seni, kuni massiivi väärtused on kasvavas järjekorras korraldatud.
  • Nüüd mõelgem näite abil, kuidas hunnikute sortimine detailselt töötab. Oletame, et arr on massiiv, mis hoiab selliseid väärtusi nagu 9, 5, 2. Alguses ei ole massiivi väärtused järjestatud, kuid pärast hunnikute sorteerimist muudetakse see kasvavas järjekorras. Kui sellele massiivile rakendatakse hunnikute sortimise algoritmi, siis kõige esimene asi, millega ta seda teeb, on massiivis meie suurima väärtuse leidmine. Kuna 9 on suurim väärtus, teisaldatakse see loendi viimasele indeksile ja kõik muud väärtused liiguvad ühe sammu võrra vasakule, et luua ruumi suurima väärtuse hoidmiseks. Kui 9 on nihutatud viimasele indeksile või massiivile, näeb väärtuste loend välja nagu 5, 2, 9.
  • Massiivi ei sorteerita, mis näitab, et sama protsessi tuleb korrata uuesti. Ehkki töötlemata väärtuste loendist suurim väärtus leitakse, valitakse 5 suuruselt teiseks väärtuseks ja teisaldatakse teise viimase indeksi juurde. Pärast 5 viimist teises viimases positsioonis muudetakse massiiv sorteeritud massiiviks ja väärtused paigutatakse montaaži kasvavas järjekorras nagu 2, 5, 9. Nii toimib hunnikute sorteerimine. Tegelikkuses tuvastab see maksimaalse väärtuse ja viib selle massiivi lõppu ning jätkab sama protsessi teostamist, kuni massiiv muutub sorteeritud massiiviks.

Näited hunnikute sorteerimise rakendamiseks Pythonis

Hulgimüügi mõiste õppimiseks andkem sellest aru tegeliku näite abil. Rakendame hunnikute sortimise algoritmi python-keelt kasutades. Programmi väljatöötamiseks kasutame kordusmehhanismi toomiseks for loop-i ja kasutame tingimuste kontrollimiseks tingimuste kontrollimiseks tingimusi. Allolevas koodis on toiming_heapsort funktsioon, mis aktsepteerib kolme argumenti: val_arr, num ja count, kus var_arr on massiiv, samas kui num ja count on täisarvud. Allpool oleva koodi mõte on leida suurim arv ja hoida seda ajutiselt muutuja max_val all, kuni see nihkub massiivi lõppu. Kui avalduse abil on tagatud, et suurim väärtus nihkub õigesse kohta ja selle positsiooni värskendamine loendi järgmise suurima väärtuse võrra blokeeritakse. Programm kordab lähenemist leida suurim väärtus ja nihutada seda lõpuni, kuni loend häälestub sorteeritud väärtuseks.

Kood:

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

Selles programmis on väärtused käsitsi koodi kaudu määratud. Var_arr on väärtusi hoidev massiiv. Selles näites oleme massiivile määranud 9 väärtust. Massiivi väärtused edastatakse meetodile, mille nimi on perfor_heapsort. Kui väärtused sisestavad meetodi, töödeldakse seda ja programm hakkab loendist leidma suurimat väärtust. Selle massiivi maksimaalne väärtus on 252, nii et seda nihutatakse massiivi lõppu ja seda protsessi rakendatakse kõigile väärtustele, kuni massiiv muutub sorteeritud massiiviks. Kui massiiv on programmi järgi sortinud, kuvatakse väljund väljundis.

Väljund:

Järeldus

Heapsort on üks paljudest sortimisalgoritmidest. Selle algoritmi võimalik väljund on sorteeritud loend, mille andmed on järjestatud kasvavas järjekorras. Kuna protsessi korratakse ja iga kord, kui massiivi lõpus oleva loendi maksimaalset väärtust kohandatakse, nihutatakse kõiki väärtusi vasakule, peetakse seda vähem tõhusaks sortimisalgoritmiks. Seda sortimismeetodit saab kasutada rakenduses, mis peaks töötlema väikest arvu väärtusi.

Soovitatavad artiklid

See on juhend Pythoni Heap Sortimiseks. Siin käsitleme sissejuhatust Pythoni hunnikute sorteerimisse, kuidas Hepsi sortimine Pythonis töötab ja näiteid hunnikute sortimise rakendamiseks Pythonis. Lisateavet leiate ka meie muudest soovitatud artiklitest -

  1. Mis on arvutiteadus?
  2. Mis on masinõpe?
  3. Veebirakenduste turvalisus
  4. Pythoni omadused
  5. Juhend algoritmide sortimiseks Pythonis

Kategooria: