Advertisement

Grundlegende Datentypen

  • Ralf Hartmut Güting
  • Stefan Dieker
Chapter
  • 196 Downloads
Part of the Leitfäden der Informatik book series (XLINF)

Zusammenfassung

In diesem Kapitel führen wir einige elementare Datentypen ein, die Bausteine für die Implementierung komplexer Algorithmen und Datenstrukturen bilden, nämlich Listen, Stacks, Queues, Abbildungen und Bäume. Für Listen werden beispielhaft zwei verschiedene Modelle (Algebren) definiert. Die erste Algebra ist einfach und bietet die Grundoperationen an. Die zweite Algebra ist komplexer, da explizit Positionen in einer Liste verwaltet werden, entspricht dafür aber eher der üblichen Benutzung von Listen in einer imperativen oder objektorientierten Programmiersprache. Anschließend wird eine Reihe von Implementierungsoptionen vorgestellt (einfach und doppelt verkettete Listen, Einbettung in einen Array). Stacks und Queues sind Listentypen mit eingeschränkten Operationssätzen; ein Stack ist eine nur an einem Ende zugängliche Liste, eine Queue eine Liste, bei der an einem Ende eingefügt, am anderen Ende entfernt wird. Der spezielle Operationssatz legt jeweils eine bestimmte einfache Implementierung nahe. Der Datentyp Abbildung stellt unter anderem die Abstraktion eines Arrays auf der programmiersprachlichen Ebene dar. Schließlich werden in diesem Kapitel Bäume als allgemeine Struktur eingeführt; Suchbäume betrachten wir im vierten Kapitel im Kontext der Datentypen zur Darstellung von Mengen. Hier untersuchen wir zunächst den einfacheren und wichtigeren Spezialfall der binären Bäume und danach Bäume mit beliebigem Verzweigungsgrad.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Literaturhinweise

  1. Die Datenstrukturen dieses Kapitels sind so elementar, daß sie von den Anfängen der Progranmiierung an eingesetzt wurden und die Ursprünge vielfach im Dunkeln liegen. Viele dieser Konzepte sind wohl unabhängig voneinander von verschiedenen Personen entwickelt worden. Eine genaue Bestimmung der Erfinder z.B. der einfach verketteten Liste oder des Binärbaumes ist daher nicht möglich. Ein recht ausführlicher Versuch einer “historischen” Aufarbeitung findet sich bei Knuth [1997] (Abschnitt 2. 6 ).Google Scholar
  2. Es gibt viele Varianten von Techniken, Listen zu implementieren. Ottmann und Widmayer [2002] zeigen die Benutzung eines “Listenschwanz”-Elementes (tail) neben einem Listenkopf; dadurch können einige der Listenoperationen einfacher implementiert werden. [Horowitz, Sahni und Anderson-Freed 1993] enthält eine Fülle von Material zu Listen, Stacks und Queues, insbesondere viele Anwendungsbeispiele, etwa zur Speicherverwaltung, Addition von Polynomen oder Darstellung spärlich besetzter Matrizen. Die Technik zur Umwandlung von rekursiven in iterative Progranmie ist angelehnt an [Horowitz und Sahni 1990] (Abschnitt 4.8), sie ist dort detaillierter beschrieben.Google Scholar
  3. Die Idee zur Aufnahme eines speziellen Datentyps für Abbildungen (mapping) stammt von Aho, Hopcroft und Ullman [1983].Google Scholar

Copyright information

© B. G. Teubner Verlag / GWV Fachverlage GmbH, Wiesbaden 2004

Authors and Affiliations

  • Ralf Hartmut Güting
    • 1
  • Stefan Dieker
    • 1
  1. 1.HagenDeutschland

Personalised recommendations