Effiziente Algorithmen und Datenstrukturen haben sich in den letzten Jahrzehnten selbst bei der
Lösung aussichtslos erscheinender praktischer und theoretischer Probleme bewährt. Dieses Buch
führt in die Algorithmik mit Java ein und präsentiert dafür eine Sammlung grundlegender
Algorithmen und Datenstrukturen - mathematisch präzise und mit lauffertigem Java-Code. Die
Autoren entwickeln die Ideen iterativ so dass Leserinnen und Lesern die einzelnen Schritte von
der naiven Lösung bis zum fertigen Lehrbuchalgorithmus nachvollziehen können. Einzelne
Algorithmen werden hinsichtlich ihrer Stärken und Schwächen und der erzielten Ergebnisse
diskutiert. Dadurch lernen Nutzer die im Buch vorgestellten Elemente des Baukastens effektiv
einzusetzen. Zahlreiche Beispiele und Abbildungen sowie 100 vertiefenden Übungsaufgaben
unterstützen sie dabei. Nicht für alle Probleme kann eine Lösung aus bereits bekannten
Bausteinen entwickelt werden. Wie lassen sich mithilfe der Algorithmik dennoch Lösungen finden?
Die Autoren lassen ihre Leser die Entwicklung der Algorithmik miterleben und leiten aus den
Beispielen allgemeine Entwurfsmethoden ab so dass Studierende und andere Leser lernen wie
sich auch für neue Probleme Lösungen finden lassen. Eine kurze präzise Einführung in die
Theorie der Komplexitätsklassen P und NP zeigt darüber hinaus die Grenzen der effizienten
Lösbarkeit und stellt gängige Auswege für die praktische Lösung NP-harter Probleme vor. Neben
elementaren Datenstrukturen Entwurfsmethoden Suchbäumen sowie Sortier- Graph- und
String-Algorithmen werden auch Themen wie Approximation randomisierte Algorithmen oder das
Lineare Programmieren kurz angerissen um einen Ausblick darauf zu geben was die Algorithmik
darüber hinaus noch leisten kann. Das fachlich ebenso wie didaktisch fundierte Buch erscheint
in der Reihe der Studienbücher Informatik und begleitet Studierende in Vorlesungen zu
Datenstrukturen und Algorithmen. Es unterstützt sie außerdem bei der gezielten
Prüfungsvorbereitung.