Sortieren in Python
Verfasst: Montag 5. Juni 2017, 10:39
Ich soll ein Algorithmus in Python aufstellen für die Sortierung einer Liste für Megesort absteigend und Hearpsort aufsteigend. Hab veruscht den Anfang zu implementieren.
Könnt ihr mir beim Vollständigen helfen.
Code: Alles auswählen
def sortMerge(a):
print('Parameter a:')
print(a)
# hier soll Ihre Implementierung des Mergesort - Verfahrens stehen.
result = a # durch das Ergebnis Ihrer Implementierung ersetzen
return result
def sortHeapDesc(a):
print('Parameter a:')
print(a)
# hier soll Ihre Implementierung von absteigendem HeapSort stehen.
result = a # durch das Ergebnis Ihrer Implementierung ersetzen
return result
# Hier ist ein Testfall:
liste = [3, 2, 1, 9, 17, 4, -1, 0]
mergeResult = sortMerge(liste)
heapResult = sortHeapDesc(liste)
print('berechnet:')
print(mergeResult)
print(heapResult)
# Das Ergebnis sollte folgende Liste sein:
# [-1, 0, 1, 2, 3, 4, 9, 17]
# [17, 9, 4, 3, 2, 1, 0, -1]
def heapsort (A):
buildHeap (A) last = len(A) -1
while (last >= 1):
# Wurzel mit letztem Blatt tauschen
chg (A,last,0)
# letzten Knoten aus Baum entfernen
last = last -1
# Heapeigenschaft wieder herstellen
heapify (A,0,last)