Algorithmen und Datenstrukturen Pascal-Version - Wirth, Niklaus 1934-2024 (Vieweg+Teubner Verlag, 2000)
In den vergangenen J ahren wurde die Progranunierung von Rechenanlagen als diejenige Disziplin erkannt, deren Beherrschung grundlegend und entscheidend fUr den Erfolg vieler Entwicklungsprojekte ist und die wissenschaftlicher Behandlung und Darlegung zuganglich isL Vom Handwerk stieg sie zur akademischen Disziplin auf. Die ersten hervorragenden Beitrage zu dieser Entwicklung wurden von E. W. Dijkstra und C. A. R. Hoare geliefert. Dijkstra's Notes on Structured Programming [6] fUhrten zu einer neuen Betrachtung der Programmierung als wissenschaftliches Thema und als intellektuelle Herausforderung. Sie bahnten den Weg zu einer "Revolution" in der Programmierung [35]. Hoare's An Axiomatic Basis for Computer Progranuning [10] zeigte deutlich, dass Progamme einer exakten Analyse nach mathematischen Grundsatzen zuganglich sind. Beide Artikel argumentieren fiberzeugend, dass viele Programmierfehler vermieden werden kannen, wenn man den Programmierem die Methoden und Techniken, die sie bisher intuitiv und oft unbewusst verwendeten, zur Kenntnis bringt. Diese Artikel konzentrierten sich auf die Aspekte des Aufbauens und Analysierens von Programmen oder, genauer ausgedriickt, auf die Struktur der durch die Progammtexte dargestellten Algorithmen. Es ist jedoch vallig kIar, dass ein systematisches und wissenschaftliches Angehen der Konstruktion von Programmen seine grasste Wirkung im Fall grosser komplexer Programme hat, die komplizierte Datenmengen bearbeiten. Foiglich muss eine Methodik des Programmierens auch alle Aspekte der Datenstrukturierung behandeln. Programme sind letztlich konkrete Formulierungen abstrakter Algorithmen, die sich auf bestimmte Darstellungen und Datenstrukturen stfitzen. Einen wesentlichen Beitrag, Ordnung in die verwirrende Vielfalt der Terminologie und Konzepte von Datenstrukturen zu bringen, leistete Hoare durch seine Notes on Data Structuring [13]