Kenntnisse von Algorithmen und Datenstrukturen sind ein Grundbaustein des Studiums der Informatik und verwandter Fachrichtungen. Das Buch behandelt diese Thematik in Verbindung mit der Programmiersprache Java und schlägt so eine Brücke zwischen den klassischen Lehrbüchern zur Theorie von Algorithmen und Datenstrukturen und den praktischen Einführungen in eine konkrete Programmiersprache.
Die konkreten Algorithmen und deren Realisierung in Java werden umfassend dargestellt. Daneben werden die theoretischen Grundlagen vermittelt, die in Programmiersprachen-Kursen oft zu kurz kommen: abstrakte Maschinenmodelle, Berechenbarkeit, Algorithmenparadigmen sowie parallele und verteilte Abläufe. Einen weiteren Schwerpunkt bilden Datenstrukturen wie Listen, Bäume, Graphen und Hash-Tabellen sowie deren objektorientierte Implementierung mit modernen Methoden der Software-Entwicklung.
In der 2. Auflage werden mit genetischen Algorithmen und neuronalen Netzen zwei weitere Algorithmenparadigmen vorgestellt, außerdem wurden zusätzliche Datenstrukturen aufgenommen.
Das Buch richtet sich an Studierende im Grundstudium an Universitäten und Fachhochschulen sowie an alle, die die Grundlagen der praktischen Informatik strukturiert erlernen wollen. Sie erwerben damit die Basis für die theoretischen und praktischen Vertiefungen im Hauptstudium und lernen gleichzeitig die Umsetzung in den "Alltag" der Software-Entwicklung kennen.
Die konkreten Algorithmen und deren Realisierung in Java werden umfassend dargestellt. Daneben werden die theoretischen Grundlagen vermittelt, die in Programmiersprachen-Kursen oft zu kurz kommen: abstrakte Maschinenmodelle, Berechenbarkeit, Algorithmenparadigmen sowie parallele und verteilte Abläufe. Einen weiteren Schwerpunkt bilden Datenstrukturen wie Listen, Bäume, Graphen und Hash-Tabellen sowie deren objektorientierte Implementierung mit modernen Methoden der Software-Entwicklung.
In der 2. Auflage werden mit genetischen Algorithmen und neuronalen Netzen zwei weitere Algorithmenparadigmen vorgestellt, außerdem wurden zusätzliche Datenstrukturen aufgenommen.
Das Buch richtet sich an Studierende im Grundstudium an Universitäten und Fachhochschulen sowie an alle, die die Grundlagen der praktischen Informatik strukturiert erlernen wollen. Sie erwerben damit die Basis für die theoretischen und praktischen Vertiefungen im Hauptstudium und lernen gleichzeitig die Umsetzung in den "Alltag" der Software-Entwicklung kennen.