Die Wahl fällt einem nicht leicht, wenn man nach der passenden Literatur über Algorithmen sucht. Meistens muss man sich dabei zwischen Formalismen, umfassenden Erklärungen und Implementierungshinweisen entscheiden. Das eine dient dann zum Nachschlagen, das andere zum ausführlichen Lesen. Diesem Buch gelingt ein relativ guter Ausgleich. Allerdings birgt es auch Schwächen.
Standardthemen wie Sortierung werden noch relativ ausführlich dargelegt. Selbiges gilt für die Kapitel der Textsuche und der Parser. Dabei wird insbesondere eine Teilmenge der den Parsern zugrundeliegenden Formalismen aus der theoretischen Informatik eingeführt. Letzteres empfand ich nicht als notwendig aber dennoch sehr angenehm, wenn die Theorie erst noch kommt oder schon eine Weile her ist. Ähnlich ist es bei den verbleibenden Kapiteln: es werden mal kurz, mal weniger kurz die formalen Fundamente beleuchtet. Nicht immer wird ein Programmierbeispiel gegeben, was der Titel des Buches jedoch auch nicht verspricht. Die vorhandenen Programmierbeispiele sind durchaus nützlich und in der Regel kompakt gehalten, was den Lesefluss beibehält. Insgesamt werden ein ganze Menge Algorithmen vermittelt, die der eine oder andere bestimmt noch nicht gesehen hat - mir jedenfalls waren einige ganz neu.
Damit aber auch zu den Schwächen. Man sollte sich im klaren sein, dass 372 Seiten nicht die gesamte Vielfalt von Algorithmen, ihrer Korrektheit, Effizienz und Eleganz inklusive Programmierbeispielen bieten können. Dazu muss man dann schon The Art of Computer Programming (Donald E. Knuth) zur Hand nehmen (wenn das den reicht). Aber diesen Anspruch stellt sich der Autor zu recht nicht. Die Folge ist aber, dass viele Kapitel (z.B. FFT, Kodierung, Korrektheit) einfach zu kurz kommen und allenfalls als Nachschlagematerial dienen. Da fehlt dann einfach zu viel Kontext.
Somit hat das Buch im Wesentlichen meinen Anspruch erfüllt, da es eine ganze Hand voll Algorithmen mehr oder weniger umfangreich präsentiert und hier und da auch Beispiele anführt. Ein paar Übungsaufgaben liegen als kleine Praxisanregung auch bereit, was ich hier und da ganz nett fand. Insgesamt finde ich den den trade-off zwischen Theorie und Implementierung durchaus gelungen und lesenswert, zur Not auch zum stöbern ganz nett.
Mein Profil: Informatik im 5. Semester an einer Universität