HOME


Algorithmen und Problemlösungen mit C++, Doina Logofatu



 PDF  Vorwort












Copyright© 2007 by Doina Logofătu
Vorwort

Viele Problemstellungen dieses Buches habe ich bereits in meinem Buch Algorithmen und Problemlösungen mit C++ behandelt, das im letzten Jahr erschienen ist. Die Theorie und die Problembeschreibungen sind größtenteils die gleichen, geändert haben sich natürlich die Programme und die Abschnitte, die sich auf die Programmiersprache beziehen. Neu in diesem Buch ist das erste Kapitel über Algorithmen und die Komplexitätstheorie und das vierte Kapitel Data Ordering Problem, in dem ein NP-vollständiges Problem analysiert und mit verschiedenen Ansätzen gelöst wird. Hinzugekommen sind auch neue Probleme wie z. B. die Huffman-Codierung im Greedy-Kapitel, Sudoku im Backtracking-Kapitel und LCS (longest common substring) im Kapitel über die Dynamische Programmierung. Ich habe die Problemstellungen und Erklärungen aus dem C++-Buch überarbeitet und mir außerdem ein paar zusätzliche Übungen ausgedacht. Wie im alten Buch möchte ich jetzt durch unterhaltsame Aufgaben Ihre Begeisterung und Ihre Neugier für die Informatik wecken und Ihnen die Fähigkeit vermitteln, für neue Probleme eigene Lösungen zu finden.

Grundlegende Algorithmen mit Java beinhaltet in den neun Kapiteln 60 Probleme bzw. Aufgaben, die vollständig analysiert und in Java gelöst werden, knapp 240 Übungsaufgaben und gut 130 Abbildungen und Bilder. Die nötigen Grundlagen am Anfang jedes Kapitels ermöglichen einen theoretischen Überblick über die Thematik. Zu jedem Problem wird beschrieben, wie die Eingabe- und Ausgabedateien aufgebaut sind, und ein Beispiel dafür angegeben. Damit können Sie selbstgeschriebene Programme überprüfen. Dann folgt der Abschnitt Problemanalyse und Entwurf der Lösung, der einen detaillierten algorithmischen/mathematischen Lösungsansatz und ein Java-Programm präsentiert. Die Programme sind kompakt und die Schlüsselwörter in blauer Farbe, um eine gute Lesbarkeit zu gewährleisten. Darum befinden sich auch die Kommentare meistens nicht direkt im Code, sondern daneben in blauen Kästchen. Die Programme sind mit dem JDK 1.6. kompiliert worden, den SUN kostenlos zur Verfügung stellt (http://java.sun.com/javase/downloads). Zu jedem Problem gehören Übungen, die Sie meist auffordern, Programme zu ändern oder neue Programme zu schreiben,  damit Sie das gerade Erlernte wiederholen können und ihre Programmierfähigkeiten verbessern.

Alle Aufgaben bzw. Probleme wenden die am jeweiligen Kapitelanfang vorgestellten mathematischen Konzepte bzw. algorithmischen Verfahren an und vertiefen sie. Die Absicht, die dahinter steht, ist die, dass Sie die Theorie dadurch erlernen, indem Sie sehen und üben, wie sie in der Praxis, also in den Problemen, eingesetzt wird. Viele Probleme sind klassisch, wie z. B. Fibonacci-Zahlen, Koch’sche Schneeflockenkurve, Türme von Hanoi, N-Damen, Haus des Nikolaus, Kartenfärbung, Konvexe Hülle, Multiplikation einer Matrizenfolge und Edit-Distanz. Aufgaben aus den Programmierwettbewerben Association for Computing Machinery (ACM), International Olympiad in Informatics (IOI) und Central-European Olympiad in Informatics (CEOI) inspirierten mich dazu, zahlreiche Probleme für das Buch zu formulieren.

Ab und zu finden Sie, quasi als Belohnung für Ihren Fleiß, zwischen zwei Kapiteln Überraschungsbilder wie: Don Quijotes Windmühlen, Schwäne auf der Isar, Kapelle in Dorohoi, Statue in Bremen, Strandkörbe auf Norderney.

Den Online-Service zum Buch finden Sie hier:

www.algorithmen-und-problemloesungen.de

Ich bitte Sie, meine verehrten Leser, mir Ihre Anmerkungen, Lob und Kritik zu senden:

EMail

Dafür bedanke ich mich im Voraus.

Viel Vergnügen beim Lesen und spannendes Lernen!

 

München, im August 2007                                                                                                                                                                                                                                                                                               Doina Logofătu 

  www.doina-logofatu.de