Introduktion till Heap Sort in Python

Vilket som helst av programmeringsspråk ger olika funktioner genom fördefinierade funktioner. Genom att utnyttja de fördefinierade metoderna och de funktioner som programmeringsspråket erbjuder kan man utveckla en komplex applikation. När vi talar om att förvandla listans värden till den sorterade formen kallas metoden sortering. Även om sorteringen har samma resultat oavsett sorteringsmetod, garanterar den bästa metoden effektiviteten för sorteringsdata. När det gäller sortering med programmeringsspråk för python, har vi sorteringsmetoden () som helt enkelt kan acceptera värdet och sortera det i stigande ordning. I den här artikeln kommer vi att lära oss hur man sorterar uppgifterna i matrisen i stigande ordning med heap sortering och använder pythons programmeringsspråk för att utföra kodimplementeringen av heapsort.

Hur fungerar Heap Sort i Python?

  • Innan Python förklaras är det viktigt att förstå vad det egentligen är och hur det skiljer sig från andra sorteringsalgoritmer. Heapsort kan betraktas som sorteringsmetoden där det maximala värdet från listan möts och flyttas till det sista i arrayen och processen hålls på att upprepa tills listan omvandlas till en sorterad lista. Det sätt som gör det annorlunda än de andra sorteringsmetoderna är inget annat än bara den strategi som den följer för att sortera alla värden i matrisen. Den består av den rekursiva processen som varar tills värdena i matrisen är ordnade i stigande ordning.
  • Låt oss nu förstå hur högsorten fungerar i detalj med hjälp av ett exempel. Anta att arr är en matris som håller värdena 9, 5, 2. I början är värdena på arrayen inte ordnade på ett sorterat sätt, men efter att haptsorteringen har utförts kommer den att förvandlas till stigande ordning. När heap-sorteringsalgoritmen används på den här matrisen kommer det allra första att göra för att hitta vårt största värde i matrisen. Eftersom 9 är det största värdet flyttas det till det sista indexet i listan och alla andra värden flyttas ett steg kvar för att skapa utrymme för att hålla det största värdet. När 9 har skiftats till det sista indexet eller array-arr kommer listan med värden att se ut som 5, 2, 9.
  • Nu sorteras fortfarande inte matrisen vilket indikerar att samma process måste upprepas igen. Medan du hittar det största värdet från listan över obearbetade värden kommer 5 att väljas som det näst största värdet och flyttas till näst sista index. Efter att ha flyttat 5 i det näst sista läget, kommer arrayen att förvandlas till en sorterad matris och värdena kommer att ordnas i montering stigande ordning som 2, 5, 9. Det här är hur heap sort fungerar. I faktiska termer identifierar det maximala värdet och flyttar det till slutet av matrisen och fortsätter att utföra samma process tills matrisen förvandlas till den sorterade arrayen.

Exempel på Implement Heap Sort i Python

För att lära oss begreppet heapsort, låt oss förstå det med exemplet. Vi kommer att implementera heap-sorteringsalgoritmen med pythonspråket. För att utveckla programmet kommer vi att använda for-loopen för att få rekursionsmekanismen och kommer att använda om villkorskontroll för att verifiera villkoren. I koden nedan är perform_heapsort den funktion som accepterar tre argument: val_arr, num och count, där var_arr är matrisen medan num och count är av en heltal datatyp. Idén med koden nedan är att hitta det största numret och hålla det tillfälligt i variabeln max_val tills den flyttas till slutet av matrisen. Om ett uttalande har använts för att säkerställa att det största värdet flyttas till rätt position och att den positionen blockeras från att uppdateras av nästa största värde i listan. Programmet kommer att upprepa tillvägagångssättet för att hitta det största värdet och flytta det till slutet tills listan släpps in i det sorterade.

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

I detta program har värdena tilldelats manuellt via koden. Var_arr är matrisen som innehåller värdena. I det här exemplet har vi tilldelat matris 9 värden. Värdena i matrisen överförs till metoden som heter perform_heapsort. När värdena har angett metoden kommer den att behandlas och programmet börjar hitta det största värdet från listan. Det maximala värdet i denna array är 252 så det kommer att flyttas till slutet av arrayen och denna process kommer att tillämpas på alla värden tills matrisen förvandlas till den sorterade arrayen. När matrisen har sorterats efter programmet, visas utgången i utgången.

Produktion:

Slutsats

Heapsort är en av de olika sorteringsalgoritmerna. Den eventuella utgången från denna algoritm är den sorterade listan som har dataen ordnade i stigande ordning. När processen upprepas och varje gång alla värden flyttas till vänster för att justera det maximala värdet på listan i slutet av matrisen betraktas det som den mindre effektiva sorteringsalgoritmen. Denna metod för sortering kan utnyttjas i applikationen som ska behandla ett litet antal värden.

Rekommenderade artiklar

Detta är en guide till Heap Sort in Python. Här diskuterar vi introduktionen till Heap Sort in Python, Hur fungerar Heap Sort i Python och exemplen för att implementera Heap Sort i Python. Du kan också gå igenom våra andra föreslagna artiklar för att lära dig mer-

  1. Vad är datavetenskap?
  2. Vad är maskininlärning?
  3. Webapplikationssäkerhet
  4. Python-funktioner
  5. Guide till sortering av algoritmer i Python

Kategori: