Forums » Bücher

Grundlegende Algorithmen mit Java

    • Moderator
    • 6 Beiträge
    16. August 2011 10:55:38 CEST

    Grundlegende Algorithmen mit Java

    Autor: Doina Logofätu

    Erscheinungsdatum: 2008

    ISBN-10: 3834803693

    ISBN-13: 978-3834803696

    Verlag: Vieweg

     

    334 Seiten

     

     

    Rezension von Stefan Achtsnicht

     

    Das Buch „Grundlegende Algorithmen mit Java“ von Doina Logofătu vermittelt dem Leser, was ein Algorithmus ist, wie man von einer Problemstellung zu diesem kommt, er weiterentwickelt und anschließend in ein lauffähiges Programm umgesetzt wird.

     

    Wie der Titel des Buches schon vermuten lässt, wird darin die Programmiersprache Java verwendet. Der Inhalt richtet sich nicht an Neueinsteiger, sondern an Leser, die schon Grundlagen in der Programmierung haben und ihre Kenntnisse erweitern wollen. Deshalb sind einfache Beispiele wie „Hello World“-Programme oder Einführungen in Java nicht enthalten. Es widmet sich gleich dem eigentlichen Thema, nämlich den Algorithmen. Bei den ersten Programmen wird allerdings im Nachhinein der Quelltext sehr genau analysiert und besprochen, so dass dieses Buch auch für Menschen geeignet ist, die vorher in einer anderen Programmiersprache programmiert haben und einen Eindruck von Java erhalten wollen. Treten Besonderheiten bei der Programmierung oder für Java typische Formen (zum Beispiel „for each“-Schleifen) auf, so werden auch diese kurz erklärt.

     

    Die Kenntnisse darüber, was ein Algorithmus ist und woher der Name kommt, wird im ersten Kapitel vermittelt. Ebenso, wie er definiert wird, was ihn ausmacht und, dass er eigentlich nichts anderes wie ein Rezept und somit nichts un(be)greifbares ist. Der Benutzer lernt einzuschätzen, zu welcher Gruppe ein Problem gehört und welche Eigenschaften (Laufzeit/Speicherplatzbedarf etc.), für das Programm dabei entstehen, wenn ein Problem mit einer bestimmten Sorte eines Algorithmus gelöst wird.

     

    In den nachfolgenden Kapiteln werden die verschiedenen Gruppen der Algorithmen behandelt, so geht es zum Beispiel um Backtracking- und Greedy-Alogorithemen sowie die „Dynamische Programmierung“. Hierbei wird in einem Kapitel mindestens eine Problemstellung im Detail durchgesprochen, wobei dem Leser zuerst gezeigt wird, wie die Ein-/Ausgaben aussehen sollen und im Anschluss daran wird das Problem analysiert, als Pseudocode gelöst und dann in Java umgesetzt.

     

    Abgerundet wird jedes Kapitel durch Übungsaufgaben, welche sich auf das vorher behandelte Thema beziehen. So gibt es zum Beispiel Aufgaben, die den Leser auffordern, das geschriebene Programm zu verfeinern, beziehungsweise seine Funktionsweise anzupassen. Oder er soll selbst ein neues Programm aufbauen, dessen Algorithmus aber auf dem gleichen Prinzip beruht, wie das im Kapitel angesprochene. Da es für die Übungsaufgaben keine Lösungen im Buch gibt, eignet sich dieses auch gut als Lehrmittel für den Unterricht. Die informatische Schwierigkeit der einzelnen Algorithmen nimmt von Kapitel zu Kapitel und von Aufgabe zu Aufgabe zu, so dass der Leser immer wieder erneut herausgefordert wird.

     

    Dass die Autorin nicht nur der Informatik zugewandt ist, sondern auch der Mathematik, ist daran zu erkennen, dass einige Aufgaben speziell mathematische Probleme wie die Berechnung von Potenzsummen behandeln und zum Beispiel im Abschnitt Rekursion über mehrere Seiten eine mathematische Beweisführung für bestimmte Beispiele geführt wird. Das Buch vermittelt nicht nur etwas Neues über die Informatik sondern auch über die Mathematik, beziehungsweise man lernt Verbindungen zum beidseitigen Nutzen erkennen. Somit wird es auch seinem Untertitel „… für Informatiker und Mathematiker“ gerecht.

     

    Dass bei einem Buch nicht nur der Inhalt sehr wichtig ist, sondern auch wie dieser umgesetzt/gestaltet wurde, ist sehr gut am Druckbild dieses Buches zu erkennen. Durch die klare farbliche und stilistische Trennung von Fließtext und Quelltext ist ein plötzliches Steckenbleiben beim Lesen durch eine Unterbrechung eigentlich nicht gegeben. Im Text wird ein Kürzel verwendet, wenn Bezug auf andere Quellen (Bücher/Internetseiten/etc.) genommen wird. Im Anhang sind diese Kürzel mit einer detaillierten Quellangabe verknüpft. Damit ermöglicht die Autorin zum einen ein flüssiges Lesen und gibt dennoch dem Leser die Möglichkeit bequem weiterführendes Material zu einem Thema zu finden. Sehr hilfreich sind die enthaltenen Diagramme/Tabellen, die sowohl die Aufgabenstellung verbildlichen, die Vorgehensweise des Programmes erläutern oder allgemeine Informationen zum Lösen darstellen.

     

    In dem zum Buch gehörenden „Online-Service“ besteht die Möglichkeit die Quelltexte zu den im Buch gelösten Programmen herunterzuladen. Somit wird der Leser aufgefordert, dass bearbeitete Thema in die Realität umzusetzen, ohne dabei den abgedruckten Quelltext abtippen zu müssen. Die hierfür nötige Energie kann der Leser besser in die Lösung der im Buch gestellten Aufgaben investieren. Es ist ein sehr Praxis bezogenes Buch, indem aber dem Benutzer auch die Theorie und die dahinterstehenden Ideen erklärt wird.