错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

Datenstrukturen

  • Ernst-Erich Doberkat

摘要

Bislang wurden Methoden, Klassen und Objekte betrachtet, dazu wurden die Anweisungen definiert, die den Lauf eines Programms bestimmen, die also die Kontrolle über seinen Ablauf innehaben. Es erweist sich als nützlich, sich auch über die Struktur von Daten Gedanken zu machen, also die Frage zu beantworten, wie man Daten am geschicktesten strukturiert. Wir haben Listen bearbeitet und kurz Lexika benutzt. Dieses Kapitel ist hauptsächlich binären Bäumen gewidmet. Wir führen binäre Bäume als rekursive Datenstruktur ein. Das ist ziemlich naheliegend, denn Bäume zeichnen sich durch eine rekursive Struktur aus: entfernt man die Wurzel, bleiben zwei binäre Bäume zurück. Die Implementierung als Klasse ergibt sich dann fast von selbst. Die Klasse wird dann durch Methoden zur Einfügung in einen Baum und zum Besuch aller seiner Knoten ergänzt. Binäre Suchbäume sind eine wichtige Unterklasse, die durch Vererbung von der allgemeinen Klasse der binären Bäume implementiert wird. Hier fügen wir eine neue Besuchsstrategie hinzu, die Inordnung. Es stellt sich heraus, dass die Inordnung die Knoten eines Baums geordnet ausgibt. Das gibt uns Gelegenheit, zwei Sortieralgorithmen zu diskutieren, nämlich Sortieren durch Einfügen und Quicksort. Schließlich fragen wir bei Microsoft nach, wie denn Bing, das allgemeine zugängliche KI-Programm, Quicksort implementieren würde — eine Übung im Programmverstehen.