Algorithmen bilden das Herzstück jeder nichttrivialen Anwendung von Computern und die
Algorithmik ist ein modernes und aktives Gebiet der Informatik. Daher sollte sich jede
Informatikerin und jeder Informatiker mit den algorithmischen Grundwerkzeugen auskennen. Dies
sind Strukturen zur effizienten Organisation von Daten häufig benutzte Algorithmen und
Standardtechniken für das Modellieren Verstehen und Lösen algorithmischer Probleme. Dieses
Buch ist eine straff gehaltene Einführung in die Welt dieser Grundwerkzeuge gerichtet an
Studierende und im Beruf stehende Experten die mit dem Programmieren und mit den
Grundelementen der Sprache der Mathematik vertraut sind. Die einzelnen Kapitel behandeln Arrays
und verkettete Listen Hashtabellen und assoziative Arrays Sortieren und Auswählen
Prioritätswarteschlangen sortierte Folgen Darstellung von Graphen Graphdurchläufe kürzeste
Wege minimale Spannbäume und Optimierung. Die Algorithmen werden auf moderne Weise präsentiert
mit explizit angegebenen Invarianten und mit Kommentaren zu neueren Entwicklungen wie
Algorithm Engineering Speicherhierarchien Algorithmenbibliotheken und zertifizierenden
Algorithmen. Die Algorithmen werden zunächst mit Hilfe von Bildern Text und Pseudocode
erläutert dann werden Details zu effizienten Implementierungen gegeben auch in Bezug auf
konkrete Sprachen wie C++ und Java.