Eine Einführung in Algorithmen für Leser ohne Vorkenntnisse in fortgeschrittener Mathematik oder Informatik, mit Schwerpunkt auf Beispielen und realen Problemen.
Dieses Buch bietet eine Einführung in Algorithmen anhand der realen Probleme, die sie lösen.
Die Algorithmen werden in Pseudocode dargestellt und können leicht in einer Programmiersprache implementiert werden. Das Buch präsentiert Algorithmen einfach und zugänglich, ohne die Leser zu überfordern oder ihre Intelligenz zu testen.
Die Leser sollten mit den mathematischen Grundlagen vertraut sein und ein grundlegendes Verständnis dafür haben, wie Computer funktionieren.; Alle anderen notwendigen Konzepte werden im Text erklärt.
Nach der Vorstellung von Hintergrundinformationen zu Pseudocode-Konventionen, grundlegender Terminologie und Datenstrukturen behandeln die Kapitel Kompression, Kryptographie, Graphen, Suchen und Sortieren, Hashing, Klassifizierung, Zeichenketten und Zufall.
Jedes Kapitel beschreibt reale Probleme und stellt dann Algorithmen zu deren Lösung vor.
Beispiele verdeutlichen die große Bandbreite der Anwendungen, darunter kürzeste Wege als Lösung für Zeilenumbrüche in Absätzen, stärkste Pfade in Wahlsystemen, Hashes zur Liederkennung, Monte-Carlo-Methoden für Wahlrecht und Entropie für maschinelles Lernen.
Es ist für Bachelor-Studenten der Informatik gedacht.
Auch Studierende anderer Fachrichtungen wie den angewandten Wissenschaften können davon profitieren.
Eine breite Übersicht über algorithmische Ideen, die den üblichen „Greatest Hits“-Ansatz vermeidet.
Es enthält fortgeschrittene Themen wie Wahlsysteme und Textkompression, die in den meisten einführenden Algorithmenbüchern nicht behandelt werden.
Anfänger werden rennen, bevor sie laufen können!
Steven Skiena, Distinguished Teaching Professor, Fachbereich Informatik, Stony Brook University;