• Keine Ergebnisse gefunden

Algorithmen und Datenstrukturen B1. Heap und Heapsort - Eine informelle Einf¨uhrung Marcel L¨uthi and Gabriele R¨oger

N/A
N/A
Protected

Academic year: 2022

Aktie "Algorithmen und Datenstrukturen B1. Heap und Heapsort - Eine informelle Einf¨uhrung Marcel L¨uthi and Gabriele R¨oger"

Copied!
8
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Algorithmen und Datenstrukturen

B1. Heap und Heapsort - Eine informelle Einf¨uhrung

Marcel L¨uthi and Gabriele R¨oger

Universit¨at Basel

31.03.2021

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 31.03.2021 1 / 8

(2)

Algorithmen und Datenstrukturen

31.03.2021 — B1. Heap und Heapsort - Eine informelle Einf¨uhrung

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 31.03.2021 2 / 8

(3)

Datenstruktur Heap

Heap

Ein (bin¨arer) min-Heap ist ein vollst¨andiger bin¨arer Baum, bei dem gilt, dass der Wert in jedem Knoten kleiner gleich dem Wert seiner beiden Kindern (sofern vorhanden) ist.

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 31.03.2021 3 / 8

(4)

Aufbauen eines Heaps

Elemente: 7, 13, 5, 8, 1, 2

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 31.03.2021 4 / 8

(5)

Entfernen des kleinsten Elements vom Heap

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 31.03.2021 5 / 8

(6)

Beispiel: Sortieren mit Heaps (Ausblick)

Idee des Algorithmus:

I Baue Heap aus unsortierter Liste I Solange Elemente im Heap sind

I Entferne kleinstes Element (Wurzel) I Schreibe Element in (neue) Liste I Stelle Heapbedingung wieder her

I Neue Liste enth¨alt Elemente in sortierter Reihenfolge Heapsort: Gleiche Idee, aber inplace.

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 31.03.2021 6 / 8

(7)

Sortieren mit Heaps

Offene Fragen:

I Wie schnell k¨onnen wir Heap ausn unsortierten Elementen aufbauen?

I Antwort:Naiv: In O(nlog2n) Operationen. Trickreich: InO(n) I Wie schnell k¨onnen wir Heapbedingung nach Entfernen

wiederherstellen?

I Antwort: InO(log2n) Operationen

I Wie gross ist die gesamte Laufzeitkomplexit¨at I Antwort: InO(nlog2n) Operationen

Komplexit¨at verschoben von Algorithmus nach Datenstruktur

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 31.03.2021 7 / 8

(8)

Zusammenfassung

I Algorithmen und Datenstrukturen arbeiten zusammen I (Teil der) Komplexit¨at kann verschoben werden I Datenstrukturen k¨onnen meist visualisiert/graphisch

verstanden werden

I Oft gilt: Gute Datenstrukturen⇒ Einfach(ere) Programme Details von Heapsort folgen ...

M. L¨uthi, G. R¨oger (Universit¨at Basel) Algorithmen und Datenstrukturen 31.03.2021 8 / 8

Referenzen

ÄHNLICHE DOKUMENTE

Ein (bin¨ arer) min-Heap ist ein vollst¨ andiger bin¨ arer Baum, bei dem gilt, dass der Wert in jedem Knoten kleiner gleich dem Wert seiner beiden Kindern (sofern vorhanden)

Ein bin¨ arer Baum / Array ist Heap geordnet, wenn der Schl¨ ussel in jedem Knoten gr¨ osser gleich dem Schl¨ ussel seiner beiden Kindern (sofern vorhanden) ist.. Quelle:

Fall 1: k < Schl¨ ussel in Knoten Gehe nach links Fall 2: k > Schl¨ ussel in Knoten. Gehe nach rechts Fall 3: k = Schl¨ ussel

Datenstruktur Verkettete Liste von Schl¨ ussel/Werte-Paaren Suchen Elemente durchlaufen bis gefunden oder Listenende Einf¨ ugen Element in Liste.. Wert

Elemente werden in Array gespeichert, wobei Position durch Schl¨ ussel bestimmt ist.. Wichtigstes Werkzeug: Hashfunktion Berechnet Index aus

In einer auf Verkettung basierenden Hashtabelle mit M Listen und N Schl¨ usseln ist die Anzahl der Vergleiche (Gleichheitstests) f¨ ur Einf¨ ugungen und erfolglose Suchen ∼

Bestimmte Grundbausteine ben¨ otigt man immer wieder bei Programmierprojekten, z.B. Sortierverfahren

Eine sehr kurze Einf¨ uhrung in Python Kurzer Sprach¨ uberblick. A2.2 Kurzer