Introduktion til Heap Sort i Python

Et hvilket som helst af programmeringssprogene giver forskellige funktioner i kraft af foruddefinerede funktioner. Ved at udnytte de foruddefinerede metoder og de funktioner, der programmeres, kan man udvikle en kompleks applikation. Når vi taler om at omdanne værdierne på listen til den sorterede form, kaldes fremgangsmåden sortering. Selvom output fra sorteringen er den samme uanset sorteringsmetoden, sikrer den bedste fremgangsmåde effektiviteten af ​​sorteringsdata. Når det kommer til sortering ved hjælp af python-programmeringssprog, har vi sorteringsmetode () til den, der simpelthen kan acceptere værdien og sortere den i stigende rækkefølge. I denne artikel lærer vi, hvordan man sorterer dataene i matrixen i stigende rækkefølge ved hjælp af heapsortering og bruger python-programmeringssprog til at udføre kodenimplementering af heapsort.

Hvordan fungerer Heap Sort i Python?

  • Før det forklares, hvordan Python fungerer, er det vigtigt at forstå, hvad det faktisk er, og hvordan det er forskelligt fra andre sorteringsalgoritmer. Heapsort kan betragtes som den sorteringsmetode, hvor den maksimale værdi fra listen møder og forskydes til den sidste af matrixen, og processen holdes ved at gentage, indtil listen transformeres til en sorteret liste. den måde, der gør det forskelligt fra de andre sorteringsmetoder, er kun andet end den tilgang, den følger for at sortere alle værdierne i matrixen. Den består af den rekursive proces, der varer, indtil værdierne i arrayet er arrangeret i stigende rækkefølge.
  • Lad os nu forstå, hvordan heapsorteringen fungerer i detaljer ved hjælp af et eksempel. Antag, at arr er en matrix, der indeholder værdierne som 9, 5, 2. I begyndelsen er værdierne for arrayet ikke arrangeret på en sorteret måde, men efter udførelsen af ​​heapsorteringen vil den blive omdannet til stigende rækkefølge. Når heapsorteringsalgoritmen anvendes til denne matrix, vil den allerførste ting gøre det for at finde vores den største værdi i matrixen. Da 9 er den største værdi, flyttes den til det sidste indeks på listen, og alle de andre værdier flyttes et trin til venstre for at skabe plads til at have den største værdi. Når 9 er skiftet til det sidste indeks eller array arr, vil listen over værdier se ud som 5, 2, 9.
  • Nu sorteres ikke arrayet stadig, hvilket indikerer, at den samme proces skal gentages igen. Mens der nu finder den største værdi fra listen over uforarbejdede værdier, vil 5 blive valgt som den næststørste værdi og flyttes til det næstsidste indeks. Efter bevægelse 5 i den næstsidste position, vil arrayet blive omdannet til en sorteret matrix, og værdierne vil blive arrangeret i enheden stigende rækkefølge som 2, 5, 9. Dette er den måde, heap sortering fungerer. Faktisk identificerer den den maksimale værdi og flytter den til slutningen af ​​arrayet og fortsætter med at udføre den samme proces, indtil arrayet forvandles til den sorterede array.

Eksempler på implementering af Heap Sort i Python

For at lære begrebet heapsort, lad os forstå det ved hjælp af det egentlige eksempel. Vi implementerer heapsorteringsalgoritmen ved hjælp af pythonsproget. For at udvikle programmet vil vi bruge for-loop til at bringe rekursionsmekanismen og vil bruge hvis betingelseskontrol for at verificere betingelserne. I nedenstående kode er perform_heapsort den funktion, der accepterer tre argumenter: val_arr, num og count, hvor var_arr er matrixen, mens num og count er af en heltal datatype. Idéen med nedenstående kode er at finde det største antal og holde det midlertidigt i variablen max_val, indtil det skiftes til slutningen af ​​matrixen. Hvis en erklæring er blevet brugt til at sikre, at den største værdi flyttes til den korrekte position, og denne position blokeres for at blive opdateret med den næste største værdi på listen. Programmet gentager fremgangsmåden for at finde den største værdi og flytte den til slutningen, indtil listen stemmer overens med den sorterede.

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 program er værdierne tildelt manuelt via koden. Var_arr er den matrix, der indeholder værdierne. I dette eksempel har vi tildelt 9 værdier til matrixen. Værdierne i matrixen overføres til metoden med navnet perform_heapsort. Når værdierne er indtastet i metoden, behandles den, og programmet begynder at finde den største værdi fra listen. Den maksimale værdi i denne matrix er 252, så den flyttes til slutningen af ​​arrayen, og denne proces vil blive anvendt på alle værdier, indtil arrayet forvandles til den sorterede array. Når arrayet er sorteret efter programmet, vises output i output.

Produktion:

Konklusion

Heapsort er en af ​​de forskellige sorteringsalgoritmer. Den eventuelle output af denne algoritme er den sorterede liste, der har dataene arrangeret i stigende rækkefølge. Idet processen gentages, og hver gang alle værdier forskydes til venstre for at justere den maksimale værdi af listen i slutningen af ​​matrixen, betragtes det som den mindre effektive sorteringsalgoritme. Denne fremgangsmåde til sortering kan udnyttes i den applikation, der antages at behandle et lille antal værdier.

Anbefalede artikler

Dette er en guide til Heap Sort i Python. Her diskuterer vi introduktionen til Heap Sort in Python, Hvordan fungerer Heap Sort i Python og eksemplerne til implementering af Heap Sort i Python. Du kan også gennemgå vores andre foreslåede artikler for at lære mere-

  1. Hvad er datalogi?
  2. Hvad er maskinlæring?
  3. Webapplikationssikkerhed
  4. Python-funktioner
  5. Vejledning til sortering af algoritmer i Python

Kategori: