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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Literaturhinweise
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 ).
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.
Die Idee zur Aufnahme eines speziellen Datentyps für Abbildungen (mapping) stammt von Aho, Hopcroft und Ullman [1983].
Author information
Authors and Affiliations
Rights and permissions
Copyright information
© 2004 B. G. Teubner Verlag / GWV Fachverlage GmbH, Wiesbaden
About this chapter
Cite this chapter
Güting, R.H., Dieker, S. (2004). Grundlegende Datentypen. In: Datenstrukturen und Algorithmen. Leitfäden der Informatik. Vieweg+Teubner Verlag. https://doi.org/10.1007/978-3-322-89113-6_3
Download citation
DOI: https://doi.org/10.1007/978-3-322-89113-6_3
Publisher Name: Vieweg+Teubner Verlag
Print ISBN: 978-3-519-22121-0
Online ISBN: 978-3-322-89113-6
eBook Packages: Springer Book Archive