Buchtipps

Hier möchte ich ein paar Buchtipps zum Besten geben.

Zu den nachfolgenden Büchern kann man weitere Meinungen bekommen, wenn man auf die Abbildungen links klickt. Man wird dann zu Amazon.de oder BOL.de weitergeleitet.

Generell gilt die Faustregel: "Wenn "Addison Wesley" draufsteht (Verlag), ist das Buch gut."

Bei www.dealtime.de kann man einen Preisvergleich durchführen lassen. Das lohnt sich in der Regel besonders bei amerikanischen Büchern.

Wenn ihr die Buchtipps nützlich findet, fände ich es toll, wenn ihr die Bücher über meine Homepage bestellt (klick auf die jeweiligen Titel), dann bekomme ich eine kleine Belohnung. (Es entstehen keine Mehrkosten) Ich habe mir die Freiheit genommen, bei den Links immer die günstigsten Anbieter rauszusuchen. Bei "Introduction to Algorithms" liegt die Preisdifferenz beispielsweise bei über 60 DM!

Informatik

Algorithmen in C++

44.96 EUR

Algorithmen in C++ (oder C / Pascal) von Robert Sedgewick

Auf 750 Seiten beschäftigt sich dieses Buch mit Allem, was man für den Bundeswettbewerb Informatik wissen sollte. Es stelle auch für mich den Einstieg dar und wird noch immer als die Nummer 1 der Empfehlungen für den BWInf gehandelt.

Zunächst werden Grundlagen wie die elementarsten Datenstrukturen und die Groß-O-Notation vorgestellt. Die beiden folgenden Kapitel widmen sich dann Such- und Sortieralgorithmen.

Das Kapitel "Verarbeitung von Zeichenfolgen" behandelt Themen wie die Suche in Zeichenfolgen, Patternmatching oder Datenkomprimierung (wobei man sich vom letzten Thema nicht zu viel versprechen sollte).

Anschließend folgen Geometrische Algorithmen. Dies sind Elementare geometrische Methoden, Bestimmung einer konvexen Hülle, Bereichssuche, Geometrischer Schnitt und das Problem des nächsten Punktes.

Besonders Interessant fand ich das Thema "Algorithmen für Graphen". Hier werden elementare Algorithmen für Graphen, das Problem des Zusammenhangs, gewichtete Graphen, gerichtete Graphen, der Fluß in Netzwerken und Paarungen besprochen.

Das Kaptiel "Mathematische Algorithmen" behandelt interessante, für den Bundeswettbewerb allerdings weniger relevante Themen wie Zufallszahlen, Arithmetik, Gaußsches Eliminationsverfahren, Kurvenanpassung und Integration.

Die "Weiterführenden Themen" des letzen Kapitels kommen im Sedgewick ein wenig zu kurz. Es sind im Einzelnen Parallele Algorithmen, Fast Fourier-Transformation, Dynamische Programmierung, Lineare Programmierung, Erschöpfendes Durchsuchen und NP-Vollständigkeit.

Algorithmen in C++ ist in einigen Bereichen zu oberflächlich, aber gerade deshalb und weil die Mathematik ein wenig außen vor gelassen wird stellt es meiner Meinung nach den optimalen Einstieg in die Informatik dar. Dies gilt insbesondere für Teilnehmer am Bundeswettbewerb Informatik, die mit der ersten oder zweiten Runde beschäftigt sind und noch nicht auf den mathematischen Background eines Studenten zurückgreifen können.

Es gibt auch eine C-Version.

Algorithmen in C++

84.77 EUR, Preis vom $-Kurs abhängig

The ALGORITHM Design Manual von Steven S. Skiena

Trotz des hohen Preises und des geringen Umfanges von nur ca. 500 Seiten ist die Anschaffung dieses Buches sehr empfehlenswert. Der Grund dafür ist, dass dieses Buch einen ganz anderen Ansatz als all die anderen Bücher verfolgt:

Statt seitenweise Algorithmen zu beschreiben wird in diesem Buch gezeigt, wie man selbst Algorithmen entwickelt oder an anderen Stellen finden kann. Dazu wurde im zweiten Abchnitt des Buches ein umfangreicher Algorithmenkatalog aufgenommen, in dem jeder Algorithmus mit einem kleinen Piktogramm, einer kurzen Beschreibung und einer Liste von Webressourcen beschrieben wird. Dieser Katalog ist auch im WWW gespiegelt. Siehe The Stony Brook Algorithm Repository. In diesem Katalog wurde auch meine Homepage zum Chinese Postman Problem aufgenommen. Das Buch ist somit besonders gut für die dritte Runde des Bundeswettbewerb Informatik geeignet, um mitreden zu können und einen Überblick über die verschiedenen Algorithmengebiete zu bekommen.

Aber auch die erste Hälfte des Buches zeichnet sich durch seine Einzigartigkeit aus. In keinem anderen Buch habe ich bis jetzt eine so verständliche (und zugleich unterhaltsame) Erklärung von NP-Vollständigkeit und Dynamischer Programmierung gelesen. Gerade das Letztere macht das Buch zu einem Muss für die Internationale Informatik-Olympiade.

Algorithmen in C++

87.10 EUR, Preis vom $-Kurs abhängig

Introduction to Algorithms von Thomas H. Cormen

Dieses Buch zeichnet sich vor allem durch seine Vollständigkeit aus. Es ist sehr viel tiefgreifender als Sedgewick oder Skiena und hebt sich vor Ottmann/Widmeyer dadurch hervor, dass die verwendete Mathematik zunächst erklärt wird.

Das Buch wendet sich eher an ein wenig fortgeschrittenere Informatiker. Die Empfehlung zu diesem Buch erhielt ich von einem Teilnehmer der Zentral-Europäischen und Internationalen Informatik-Olympiade, der bei beiden Wettbewerben eine Gold-Medaille gewann. - Und ich kann ihm beipflichten.

Zunächst werden Mathematische Grundlagen erklärt, auf denen das Buch dann aufbaut.

Im zweiten Kapitel werden Such und Sortier-Algorithmen wiedergegeben, wobei hier ein klarer Vorteil gegenüber Sedgewick festzustellen ist: Es werden nicht in epischer Breite Bubble-Sort, Selection-Sort, Insertion-Sort, u.s.w. erläutert, sondern man kommt sofort zu den interessanten Algorithmen wie Heapsort und Quicksort.

Das dritte große Kapitel bilden Datenstrukturen. Hier werden elementare Datenstrukturen, Hashes, Binärbäume, Rot-Schwarz-Bäume und ähnliches diskutiert, wobei man sieht, dass ein gewisser Wert auf mathematische Vollständigkeit gelegt wird.

Das Kapitel "Advanced Design and Analysis Techniques" behandelt Dynamische Programmierung, Greedy Algorithms und Amortisierte Analyse.

Dem folgen "Advanced Data Stuctures" wie B-Trees, Binomial Heaps u.ä., die für mich bis her nicht besonders relevant waren. Bei der Endrunde des BWInf ist es ganz schön von ihnen gehört zu haben, aber weder dort noch bei den Informatik-Olympiaden wird man sie je implementieren müssen.

Das vorletze Kapitel "Graph Algorithms" behandelt annähernd die selben Gebiete wie Sedgewick, wobei jedoch die Qualität recht unterschiedlich ist. Sedgwick arbeitet recht anschaulich, während Cormen mathematisch korrekter aber auch eleganter arbeitet.

Wie in vielen anderen Büchern musste das letzte Kapitel "Selected Topics" für den ganzen Rest herhalten. Auch hier wird über ähnliche Themen wie im Sedgewick gesprochen. Interessant sind aber die Kapitel "Computational Geometry", "NP-Completeness" und "Approximation Algorithms" (für NP-Vollständige Probleme wie vertex-cover, traveling-salesman, set-covering und subset-sum problem).

Wer Sedgewick gelesen hat und in bestimmten Gebieten näheres erfahren möchte, oder einfach generell mehr in die Tiefe gehen will, für den ist Cormen genau das richtige.

Algorithmen und Datenstrukturen

59.95 EUR

Algorithmen und Datenstrukturen von Thomas Ottmann und Peter Widmayer

Dieses Buch wird häufig als der "deutsche Cormen" bezeichnet. Dem möchte ich mich nicht anschließen.

Ottmann/Widmayer behandeln weniger Themen, die jedoch tiefer und noch mathematischer. Wer das Kapitel über Bäume durchgearbeitet hat, mach 2 Wochen lang einen riesen Bogen um jeden Wald. Für die Endrunde des Bundeswettbewerb Informatik ist das Buch in gewissen Sinne eine Bereicherung, als das man die korrekten deutschen Bezeichnungen für verschiedene Elemente der Informatik kennen lernt und erfährt wie Informatik wirklich aussehen kann. Für die Informatik-Olympiaden ist das Buch nicht zu empfehlen (abgesehen von den Scanline-Sachen im Vorwort), da die behandelten Themen viel zu groß sind (Wer implementiert in 1.5 Stunden schon einen AVL-Baum - just for fun ;-)).

Für ein Informatik-Studium mag dieses Buch interessant sein, das es die notwendige Mathematik durchexerziert.

Die behandelten Themengebiete sind Grundlage, Sortieren, Suchen, Hashverfahren, Bäume, Manipulation von Mengen, Geometrische Algorithmen, Graphenalgorithmen und Ausgewählte Themen.

Graphen, Netzwerke und Algorithmen

59.95 EUR

Graphen, Netzwerke und Algorithmen von Dieter Jungnickel

Zu diesem Buch fällt mir nur ein Begriff ein: "Hardcore".

In diesem Buch wird wirklich alles zum Thema Graphentheorie behandelt - nur eben auf recht abstrakte, mathematische Art und Weise, sodass man kaum mehr als 3 Seiten pro Tag legen kann, weil einem danach der Kopf dröhnt.

Für BWInf und IOI ist dieses Buch total ungeeignet. Wer seine Promotion mit dem Thema Graphen-Theorie macht, wird an diesem Buch seine Freude haben. ;-)

The New Turing Omnibus

30.24 EUR

The New Turing Omnibus von A. K. Dewdney

Dieses Buch kann nicht nur von Informatikern gelesen werden. In 66 Kapiteln wird so ziemlich alles behandelt, was irgendwie mit der Informatik in Verbindung steht. Das geht von Chomsky Hierarchien bis hin zu Computer Vieren. Dieses Buch ist für die Endrunde des Bundeswettbewerb Informatik sehr, sehr empfehlenswert, da man einen schönen Überblick über alles Mögliche bekommt. Wer dort nach Logik, Grammatiken, Multiplexern, Public Key-Verschlüsselung, Generierung von Großen Primzahlen, Turing-Maschienen gefragt wird, muss sich keine Gedanken machen. All dies wird im Turing Omnibus in ausreichender Tiefe behandelt.

Schülerduden Informatik

16.90 EUR

Schülerduden Informatik

Auch wenn es sich hier um einen Duden in der gewohnten Form handelt, ist dieses Buch empfehlenswert, denn wenn man es von vorne nach hinten "liest", lernt man so manch einen Fachbegriff kennen.

Der Duden geht natürlich nicht so in die Tiefe, wie die anderen Bücher, aber stellt trotzdem einen recht brauchbaren Überblick dar.

Modellieren

UML konzentriert

29.95 EUR

UML konzentriert von M. Fowler und K. Scott

Wer sich einige Zeit mit Programmieren beschäftigt hat, wird merken, dass das Programmieren um so schwieriger ist, je mehr man kann. Das liegt wohl dran, dass man nicht mehr einfach drauf los programmieren will, sondern von vornherein ein geordnetes Projekt machen möchte.

Eine Möglichkeit, ein Projekt zu strukturieren ist UML. Das Buch UML konzentriert führt auf nur 150 Seiten in die Unified Modelling Language ein und ermöglicht so mit wenig Aufwand die UML zu nutzen.

Der geringe Umfang ist ausreichend, an einigen Stellen wünscht man sich jedoch ein paar weiterführende Beispiele.

Entwurfsmuster

44.95 EUR

Entwurfsmuster von Gamma, Helm, Johnson, Vlissides (Gang of Four)

Wer meint, er wisse, was Objekt-Orientierte Programmierung sei, sollte sich dieses Buch kaufen. Wenn man es gelesen hat, programmiert man nicht mehr wie vorher.

Wer ernsthaft programmieren möchte, sollte dieses Buch gelesen haben.

Vorgestellt werden die Erzeugungsmuster Abstrakte Fabrik, Erbauer, Fabrikmethode, Prototyp, Singleton, sowie Strukturmuster Adapter, Brücke, Dekorierer, Fassade, Fliegengewicht, Kompositum, Proxy, Befehl, Beobachter, Besucher, Interpreter, Memento, Schablonenmethode, Strategie, Vermittler, Zustand und Zuständigkeitskette und andere.

Programmieren

PHP 4.
Grundlagen und Profiwissen

49.90 EUR

PHP Grundlagen und Lösungen von Jörg Krause

PHP kommt in letzter Zeit als Serverseitige Skript-Sprache für Homepages immer mehr in Mode und ich muss sagen: "Zurecht".

Die Sprache ist zwar nicht besonders elegant wie Perl, Java oder C++ sondern sieht ein wenig wie ein zusammengesetztes Best-Of aus, erfüllt aber für den genannten Aufgabenbereich 100%ig seine Aufgabe.

Mit dem Buch "PHP Grundlagen und Lösungen" ist es, sofern man einen gewissen Programmierbackground hat, sehr einfach, sich in PHP einzuarbeiten. Alle notwendigen Tools werden auf CD mitgeliefert.

Goto Java 2

59.95 EUR

Goto Java 2 von Guido Krüger

Goto Java 2 ist eine super Einführung in Java 2 (JDK 1.3).

Es handelt sich hier um eine Empfehlung aus den Java-Newsgroups, der ich mich anschließe.

Wer sich selbst ein Bild machen möchte, kann sich ja einmal die vollständige HTML-Version des Buches unter www.javabuch.de ansehen.

Programmieren in Perl

46.00 EUR

Programmieren in Perl von Larry Wall

Programmieren in Perl ist als "Das Kamelbuch" vom Meister himself bekannt.

Es richtet sich nicht gerade an Programmiereinsteiger, ist aber recht gut verständlich, wenn man nicht gerade ein Neuling ist.

An einigen Stellen setzt mir dieses Buch zuviel Linux-Wissen voraus. Wer nicht gerade Linux-Fetischist ist, kann mit Sätzen wie "Diese Funktion macht ein fork wie in Linux" wenig anfangen.

Sonstige Bücher

Per Anhalter durch die Galaxis

6.95 EUR

Per Anhalter durch die Galaxis von Douglas Adams

Was soll man dazu noch groß sagen.

Wer die einzige Trilogie in fünf Bänden noch nicht gelesen hat lebt hinter dem Mond. Dies ist die Bibel der Informatiker. Es wird das Mysterium um die Zahl 42 erklärt und auch die Frage, warum Altavista ihre Übersetzungsmaschine Babelfish nannte.

Ein paar kleine Anekdoten aus dem Anhalter:

Um die Antwort auf alle Fragen des Universums zu finden baute man einen riesigen Computer, der viele Millionen Jahre rechnete und die Antwort auf die Frage des Seins dann auch fand: 42 - Nur was war die Frage zu dieser Antwort?

Zur Geschichte der Raumfahrt: Lange Zeit konnte man nicht schneller als Licht reisen, da, wie man aus dem Physik-Unterricht weiß, sich nichts schneller als Licht bewegt. - AUSSER schlechte Nachrichten. Man baute also ein Raumschiff, das sich mit schlechten Nachrichten fortbewegte. Das funktionierte soweit ganz gut, konnte sich aber trotzdem nicht ganz durchsetzen, da das Raumschiff, wo immer es ankam, äußerst unbeliebt war.

Dieses Buch MUSS einfach jeder gelesen haben.

Herr der Ringe

13,50 EUR

Herr der Ringe von J.R.R. Tolkien

"Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkle zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn."

Dieses Buch gehört schon fast zur Allgemeinbildung.

Die Fans kritisieren, die neue Auflage sei schlechter übersetzt.

Ich kenne nur die neue Auflage und muss sagen, das Buch gefällt mir trotzdem. Es ist eines der Bücher, die man anfängt zu lesen und wenn man das nächste Mal auf die Uhr sieht, sind 5 Stunden vergangen.