Heap

Ein Heap ist eine Datenstruktur, die aus „Knoten“ besteht, die Werte enthalten. Ein typischer Heap hat oben einen Wurzelknoten, unter dem sich direkt zwei oder mehr untergeordnete Knoten befinden können. Jeder Knoten kann zwei oder mehr untergeordnete Knoten haben, wodurch der Heap mit jedem untergeordneten Knoten breiter wird. In einer visuellen Darstellung sieht ein Heap wie ein auf dem Kopf stehender Baum aus, und seine allgemeine Form ähnelt einem Haufen.

Während jeder Knoten in einem Heap zwei oder mehr untergeordnete Knoten haben kann (auch „Kinder“ genannt), beschränken die meisten Heaps jeden Knoten auf zwei Kinder. Diese Arten von Heaps werden auch als binäre Heaps bezeichnet und können zum Speichern sortierter Daten verwendet werden. Ein „binärer Max-Heap“ speichert beispielsweise den höchsten Wert im Wurzelknoten. Die zweithöchsten und dritthöchsten Werte werden in den untergeordneten Knoten des Wurzelknotens gespeichert. Im gesamten Baum hat jeder Knoten einen höheren Wert als jeder seiner untergeordneten Knoten. Ein „binärer Min-Heap“ ist das Gegenteil: Der Wurzelknoten speichert den niedrigsten Wert, und jeder Knoten hat einen niedrigeren Wert als seine untergeordneten Knoten.

In der Informatik werden Heaps häufig als einfache Diagramme dargestellt. Das tatsächliche Speichern von Daten in einem Heap ist jedoch komplexer. Um einen Heap zu erstellen, müssen Programmierer einzelne Algorithmen zum Einfügen und Löschen von Daten schreiben. Die in einen Heap eingefügten Werte werden normalerweise in einem Array gespeichert, auf das ein Programm zugreifen kann. Da die Daten in einem Heap bereits sortiert sind, bietet er eine effiziente Möglichkeit, nach bestimmten Werten zu suchen.

NOTE: „Der Heap“ ist außerdem ein Programmierbegriff, der zum Beschreiben von dynamisch zugewiesenem Speicher verwendet werden kann. Auf diesen Speicherblock können aktive Anwendungen zugreifen. Da Speicher im Heap dynamisch zugewiesen wird, kann er je nach verwendeter Speichermenge wachsen oder schrumpfen.

Aktualisiert August 2, 2012 von Per C.

quizTesten Sie Ihr Wissen

Which phrase is synonymous with "raw data?"

A
Binary data
0%
B
Plain text data
0%
C
Unprocessed data
0%
D
Unorganized data
0%
Correct! Incorrect!     View the Raw Data definition.
More Quizzes →

Das Tech Terms Computer-Lexikon

Die Definition von Heap auf dieser Seite wurde von den Autoren von TechTerms.com verfasst. Wenn Sie auf diese Seite verweisen oder diese Definition zitieren möchten, verwenden Sie bitte die grüne Zitierleiste direkt unterhalb der Definition.

Unser Ziel ist es, Computerbegriffe auf verständliche Weise zu erklären. Wir streben bei jeder veröffentlichten Definition nach Genauigkeit und Einfachheit. Wenn Sie Feedback zu dieser Definition haben oder einen neuen Fachbegriff vorschlagen möchten, kontaktieren Sie uns.

Der Tech Terms Newsletter

Erweitern Sie Ihr technisches Wissen mit unserem täglichen oder wöchentlichen Newsletter! Abonnieren Sie noch heute und erhalten Sie neue Begriffe und Quizze in Ihren Posteingang.

Melden Sie sich für den kostenlosen TechTerms‑Newsletter an

Wie oft möchten Sie eine E-Mail erhalten?

Sie können sich jederzeit über die Links in jeder E-Mail abmelden oder Ihre Einstellungen ändern. Fragen? Bitte kontaktieren Sie uns.

Hinweis: Der Newsletter wird auf Englisch versandt.