Heap (IntroProg)

Heap (IntroProg)

in einer Nussschale

  • Abstrakte Datenstruktur
  • Basiert meist auf einem Baum
  • Jedes Element hat einen Schlüssel (häufig die Elemente selbst), das die Priorität des Elements festlegt
  • Partiell geordneter Baum

Definition

Ein Heap stellt einen Binärbaum in einem Array dar

Aufbau eines Heaps

!introprog-v09-heapsort, p.8

Ziel Berechnung
Wurzel 1
Parent(i) i2
Left(i) 2i
Right(i) 2i+1

Anwendungen

Max-Heap-Bedingung:

Binäre Halden: Bäume als Arrays

max Heap property

Für jeden Knoten i außer der Wurzel gilt:
A[Parent(i)] ≥ A[i]

min Heap property

Für jeden Knoten i außer der Wurzel gilt:
A[Parent(i)] ≤ A[i]