HOME Geleitwort Copyright© 2007 by Doina Logofătu |
Geleitwort
Das vorliegende Buch
„Grundlegende
Algorithmen mit Java“ vermittelt Grundlagen zu Algorithmen und zur
Komplexitätstheorie und illustriert danach allgemeine
Lösungsprinzipien (z. B. „Teile
und Herrsche", „Dynamische Programmierung"). Drei ausgewählte
Problemstellungen – „Verschachtelte Schachteln" als einführendes
Beispiel,
das „Data Ordering Problem" als Beispiel für ein
NP-vollständiges Problem
und Berechnung von Potenzsummen als mathematisch nichttriviales Problem
werden
ausführlicher in eigenen Kapiteln behandelt. Jedes Lösungsprinzip
wird nach einem theoretischen Vorspann anhand von Problemen
- von trivialen Beispielen bis hin zu umfangreicheren Aufgaben aus
Programmierwettbewerben
- erläutert, die anhand von Übungsaufgaben vertieft werden
können. In dem Buch
wird ein besonderer Schwerpunkt auf das Prinzip der dynamischen
Programmierung
gesetzt. Zu allen näher
besprochenen Algorithmen gibt es jeweils, nach einigen Kommentaren
zur Implementierung, ein komplettes Java-Programm. Das Buch setzt
einfache Kenntnisse
in Java voraus, wobei einige Konzepte und Grund legende Klassen am
einführenden
Beispiel der verschachtelten Schachteln wiederholt werden. Vom
über prozedurale
Programmierung hinaus gehenden Sprachumfang von Java kommt
hauptsächlich die
Objektorientierung zum Einsatz (insbesondere für abstrakte
Datentypen), Nebenläufigkeit
und Netzwerktechniken kommen nicht vor. Dafür finden sich einige
Sprachkonstrukte und Klassen, die in Java 5, teils sogar Java 6
eingeführt
worden sind, und man lernt manche wenig bekannte Bereiche kennen, z. B.
die Buffer-Klassen
aus dem Paket java.nio und java.util.Arrays. Fast alle
Programme
erhalten ihre Eingaben aus einer Datei (oder von der Tastatur) und
schreiben
die Ergebnisse in eine andere Datei; im Kapitel "Rekursion" kommen
daneben auch graphische Ausgaben fraktaler Strukturen vor.
Dr. Eric
Müller |