Diese Einführung wendet sich an alle Leser, die sich mit Entwurf und
der Analyse effizienter Algorithmen näher beschäftigen wollen.
An Hand alltäglicher Probleme aus der Informatik werden dem Leser sowohl
die gängigen Algorithmen zu deren Lösung als auch die dahinter
steckenden, allgemein anwendbaren Entwurfsmethoden präsentiert.
Begleitend werden dabei ebenfalls die grundlegenden Techniken zur Analyse von
Algorithmen vorgestellt.
Behandelt werden Themen aus den folgenden Gebieten:
Sortieren, Selektieren, Dynamische Datenstrukturen, Suchen in Texten,
Algorithmen auf Graphen, arithmetische und zahlentheoretische Algorithmen
mit deren Anwendung in der Public-Key-Kryptographie, sowie die Grundzüge
der NP-Vollständigkeit und der Approximationsalgorithmen.
Das Entwerfen und Analysieren von effizienten Algorithmen ist eine der Haupt aufgaben eines/r jeden Informatikers/in. Obwohl für viele Probleme schon seit Jahrzehnten effiziente Algorithmen bekannt sind, tauchen dennoch immer wieder verblüffende und unerwartete Verbesserungen auf. Dies macht die Algorithmik zu einem höchst interessanten und spannenden Teilgebiet der Informatik, dessen Attraktivität und Reiz wir in diesem Buch einzufangen versuchen. Anhand alltäglicher Probleme aus der Welt der Informatik wollen wir die Methodik des Algorithmenentwurfs erläutern. Zum einen werden wir effiziente Algorithmen zur Lösung grundlegender Probleme kennen lernen und dabei auch auf die zum Teil überraschend einfachen, aber wirkungsvollen Verbesserungen ein gehen. Zum anderen werden wir die zugrunde liegenden, allgemein anwendbaren Methoden und Paradigmen präsentieren, die tagtäglich beim Algorithmenentwurf zum Einsatz kommen. Begleitend dazu stellen wir die grundlegenden Techniken zur Analyse von Algorithmen vor, ohne die Effizienzaussagen nicht möglich wären. Außerdem werden wir die Grenzen dessen aufzeigen, was algorithmisch überhaupt lösbar bzw. effizient realisierbar ist. Ein Hauptaugenmerk dieses Buch ist der Vollständigkeit der behandelten Algorithmen gewidmet, d.h. es wurde in der Regel vermieden, nur eine Beschrei bung von Algorithmen anzugeben, ohne deren Korrektheit zu beweisen bzw. deren Komplexität zu analysieren. Daher werden auch Themen angesprochen, die in Einführungsvorlesungen zur Algorithmik normalerweise nicht ausführlich behan delt werden, wie z.B. die Analyse des Boyer-Moore-Algorithmus oder der Beweis des Bertrandschen Postulats. Damit wird zu jedem behandelten Problemkreis eine möglichst abgeschlossene Einführung geboten.
Neues Lehrbuch fürs Grundstudium Informatik
Jeder Informatik Student benötigt Grundkenntnisse im Bereich Algorithmen. Diese Einführung wendet sich an alle Leser, die sich mit Entwurf und
der Analyse effizienter Algorithmen näher beschäftigen wollen.
An Hand alltäglicher Probleme aus der Informatik werden dem Leser sowohl
die gängigen Algorithmen zu deren Lösung als auch die dahinter
steckenden, allgemein anwendbaren Entwurfsmethoden präsentiert.
Volker Heun
Algorithmen Algorithmik Approximation Effizienz Entscheidbar Graphen Hashing Informatik Komplexität Korrektheit NP-Vollständigkeit Vollständigkeit Wirkung euklidischer Algorithmus kürzeste Wege