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 Hashtabellen sowie deren objektorientierte Implementierung mit modernen Methoden der Softwareentwicklung.
Die 5. Auflage wurde überarbeitet und gibt u.a. einen Überblick über die mit Java 8 eingeführten Lambda-Ausdrücke, die eine Anwendung des applikativen (funktionalen) Paradigmas darstellen. Weiter wurden neue Beispiele, die aus dem Einsatz des Buches in einigen Einführungsvorlesungen entstanden sind, 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 Softwareentwicklung 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 Hashtabellen sowie deren objektorientierte Implementierung mit modernen Methoden der Softwareentwicklung.
Die 5. Auflage wurde überarbeitet und gibt u.a. einen Überblick über die mit Java 8 eingeführten Lambda-Ausdrücke, die eine Anwendung des applikativen (funktionalen) Paradigmas darstellen. Weiter wurden neue Beispiele, die aus dem Einsatz des Buches in einigen Einführungsvorlesungen entstanden sind, 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 Softwareentwicklung kennen.