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.
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.
Über den Autor
Univ.-Prof. Dr.(USA) Martin Dietzfelbinger (b. 1956) studied Mathematics in Munich and earned his Ph.D. from the University of Illinois at Chicago. In 1992, he obtained his Habilitation at the Universität Paderborn with a thesis on randomized algorithms; in the same year he became a professor of computer science at the Universität Dortmund. Since 1998, he holds the chair for Complexity Theory and Efficient Algorithms at the Faculty of Computer Science and Automation of the Technische Universität Ilmenau, Germany. His main research interests are in complexity theory and data structures.
Zusammenfassung
Kompakte Einführung in die grundlegenden Algorithmen, die jeder Informatiker kennen muss
Einheitlicher Kapitelaufbau: Praxisbeispiel, Illustration der wichtigsten Anwendungen, formal korrekte Einführung einfacher Lösungen
Professor Mehlhorn ist international einer der renommiertesten Vertreter der Algorithmik
Includes supplementary material: [...]
Inhaltsverzeichnis
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.