Algorithmen und Datenstrukturen : Die Grundwerkzeuge 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. Arithmetik für ganze Zahlen Einleitung Darstellung von Folgen durch Arrays und verkettete Listen Hashtabellen und assoziative Arrays Sortieren und Auswählen Prioritätswarteschlangen Geordnete Folgen Die Darstellung von Graphen Graphdurchläufe Kürzeste Wege Minimale Spannbäume Generische Ansätze für die Optimierung Anhang.