Introduksjon til Heap Sort in Python

Et hvilket som helst av programmeringsspråkene gir forskjellige funksjoner i kraft av forhåndsdefinerte funksjoner. Ved å utnytte de forhåndsdefinerte metodene og funksjonene som programmeringsspråket tilbyr, kan man utvikle en kompleks applikasjon. Når vi snakker om å transformere verdiene på listen til den sorterte formen, kalles tilnærmingen sortering. Selv om resultatet av sorteringen er den samme uansett sorteringsmetode, sikrer den beste tilnærmingen effektiviteten av sorteringsdata. Når det gjelder sortering ved hjelp av programmeringsspråk for python, har vi sorteringsmetode () for å ganske enkelt akseptere verdien og sortere den i stigende rekkefølge. I denne artikkelen lærer vi hvordan du sorterer dataene i matrisen i stigende rekkefølge ved hjelp av heap-sortering og bruker python-programmeringsspråket for å utføre kodeimplementering av heapsort.

Hvordan fungerer Heap Sort i Python?

  • Før du forklarer Working of Python, er det viktig å forstå hva det faktisk er og hvordan det er forskjellig fra andre sorteringsalgoritmer. Heapsort kan betraktes som sorteringsmetoden der den maksimale verdien fra listen blir møtt og forskjøvet til den siste av matrisen, og prosessen blir holdt på å gjenta til listen blir transformert til en sortert liste. Den måten som gjør det annerledes enn de andre sorteringsmetodene er ikke annet enn bare den tilnærmingen den følger for å sortere alle verdiene i matrisen. Den består av den rekursive prosessen som varer til verdiene i matrisen er ordnet i stigende orden.
  • La oss nå forstå hvordan happesorteringen fungerer i detalj ved å bruke et eksempel. Anta at arr er en matrise som inneholder verdiene som 9, 5, 2. I begynnelsen er ikke verdiene til matrisen ordnet på en sortert måte, men etter å ha utført heap-sortering, vil den bli omgjort til stigende rekkefølge. Når heap-sorteringsalgoritmen brukes på denne matrisen, vil den aller første tingen gjøre det for å finne den største verdien i matrisen. Ettersom 9 er den største verdien, vil den bli flyttet til den siste indeksen i listen, og alle de andre verdiene vil bevege seg ett trinn igjen for å skape rom for å holde den største verdien. Når 9 er flyttet til den siste indeksen eller array-arr, vil listen over verdier se ut som 5, 2, 9.
  • Nå sorteres ikke arrayen som indikerer at den samme prosessen må gjentas igjen. Mens du finner den største verdien fra listen over ubehandlede verdier, vil 5 bli valgt som den nest største verdien og bli flyttet til den nest siste indeksen. Etter å ha flyttet 5 i den nest siste posisjonen, vil arrayet bli omgjort til en sortert matrise og verdiene vil bli ordnet i monteringsstigningen rekkefølge som 2, 5, 9. Dette er slik heap sort fungerer. Faktisk identifiserer den maksimalverdien og flytter den til slutten av matrisen og fortsetter å utføre den samme prosessen til matrisen blir til den sorterte matrisen.

Eksempler på Implement Heap Sort in Python

For å lære begrepet heapsort, la oss forstå det ved å bruke selve eksemplet. Vi vil implementere heap-sorteringsalgoritmen ved å bruke pythonspråket. For å utvikle programmet vil vi bruke for-loop for å bringe rekursjonsmekanismen og vil bruke om betingelsessjekk for å bekrefte forholdene. I koden nedenfor er perform_heapsort funksjonen som godtar tre argumenter: val_arr, num og count, hvor var_arr er matrisen mens num og count er av en hel datatype. Tanken med koden nedenfor er å finne det største tallet og holde det midlertidig i variabelen max_val til den blir forskjøvet til slutten av matrisen. Hvis en uttalelse er brukt for å sikre at den største verdien blir forskjøvet til riktig posisjon og at denne posisjonen blir blokkert fra å bli oppdatert med den neste største verdien på listen. Programmet vil gjenta tilnærmingen for å finne den største verdien og flytte den til slutten til listen stemmer overens med den sorterte.

Kode:

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

I dette programmet er verdiene tilordnet manuelt gjennom koden. Var_arr er matrisen som inneholder verdiene. I dette eksemplet har vi tildelt 9 verdier til matrisen. Verdiene i matrisen vil bli sendt til metoden som heter perform_heapsort. Når verdiene har angitt metoden, vil den bli behandlet og programmet begynner å finne den største verdien fra listen. Maksimumsverdien i denne matrisen er 252, så den vil bli forskjøvet til slutten av matrisen, og denne prosessen vil bli brukt på alle verdiene til matrisen blir til den sorterte matrisen. Når matrisen er sortert etter programmet, vises utdataene i utdataene.

Produksjon:

Konklusjon

Heapsort er en av de forskjellige sorteringsalgoritmene. Eventuell utgang av denne algoritmen er den sorterte listen som har dataene ordnet i stigende rekkefølge. Når prosessen gjentas og hver gang alle verdiene forskyves til venstre for å justere den maksimale verdien på listen på slutten av matrisen, blir den betraktet som den mindre effektive sorteringsalgoritmen. Denne tilnærmingen til sortering kan utnyttes i applikasjonen som skal behandle et lite antall verdier.

Anbefalte artikler

Dette er en guide til Heap Sort in Python. Her diskuterer vi introduksjonen til Heap Sort in Python, Hvordan fungerer Heap Sort i Python og eksemplene til å implementere Heap Sort in Python. Du kan også gå gjennom andre foreslåtte artikler for å lære mer-

  1. Hva er informatikk?
  2. Hva er maskinlæring?
  3. Nettapplikasjonssikkerhet
  4. Python-funksjoner
  5. Veiledning for sortering av algoritmer i Python