Zum Hauptinhalt springen Zur Suche springen Zur Hauptnavigation springen
Webshop Relaunch: Wir bitten bestehende Kunden (ausgenommen Dozierende), sich einmalig neu zu registrieren. Vielen Dank!

Algorithmen und Datenstrukturen

Produktinformationen "Algorithmen und Datenstrukturen"

- Das Buch stellt alle für das Informatikstudium relevanten Themenbereiche verständlich dar.
- Beginnend mit einfachsten Algorithmen, wird die Komplexität nach und nach gesteigert.
- Für jeden Algorithmus wird ein lauffähiges Programm inklusive Programmablaufplan vorgestellt, das sich auch direkt in den Programmierpraktika einsetzen lässt.
- Mit Programmbeispielen, Programmablaufplänen, Diagrammen, Tabellen, Übungsaufgaben, Praxistipps
- Zusatzmaterial zum Buch unter plus.hanser-fachbuch.de
- Ihr exklusiver Vorteil: E-Book inside beim Kauf des gedruckten Buches

Sie beginnen gerade das erste Semester im Studiengang Informatik und haben deshalb die Vorlesungen Algorithmen und Datenstrukturen 1 und 2 sowie Programmierung 1 und 2 belegt?
Dieses Buch hilft Ihnen, die nötigen Erfahrungen und Fähigkeiten zu erwerben, um stressfrei durch Praktika und Prüfungen zu kommen.
Die ersten drei Kapitel wenden sich ausschließlich an Einsteiger:innen mit grundlegenden Programmierkenntnissen in C/C++. Von den restlichen Kapiteln profitieren auch im Studium fortgeschrittene Programmierer:innen, die sich an komplexere Themen wie verkettete Listen, Bäume, Graphen, Sortieralgorithmen, neuronale Netze, kryptografische Algorithmen oder Graphen heranwagen.
Das Buch bietet einen einfachen Einstieg in das komplexe Thema Algorithmen und Datenstrukturen. Anstatt Comic- oder Pseudocode-Stil wird stets ausführbarer Quellcode in C++ oder Java verwendet. Die Programme sind auf jeder Standard-Linux- Installation lauffähig, inklusive des bei Studierenden immer beliebter werdenden Raspberry Pi. Aber auch unter Windows müssen Sie nur sehr selten Anpassungen am Quellcode vornehmen.

AUS DEM INHALT //
- Berechenbarkeit
- Basisalgorithmen
- Rekursive Algorithmen
- Verkettete Listen
- Bäume
- Such- und Sortierverfahren
- Signalverarbeitung
- Grafische Bildverarbeitung
- Simulation neuronaler Netze
- Kryptografische Algorithmen
- Graphen
- Lösung der Übungsaufgaben

Durchschnittliche Bewertung von 4.22 von 5 Sternen

9 Bewertungen


9 Bewertungen

Bewertung mit 2 von 5 Sternen

Volker am 07.09.2026

Leider nicht gelungen

Das Buch zeichnet sich durch einen ungewöhnlichen Einstieg aus: Anstatt mit klassischen Programmierkonzepten zu beginnen, widmet es sich der Berechenbarkeitstheorie und Turing-Maschinen. Dieser Ansatz ist schrittweise aufgebaut und führt verständlich von der Turing-Maschine über deren Erweiterungen bis hin zur Funktionsweise moderner Prozessoren. Auch grundlegende Themen wie Laufzeiten, Entscheidungsprobleme und das P-versus-NP-Problem werden auf diese Weise eingeführt. Allerdings stellt dieser Einstieg eine hohe Hürde dar. Er verlangt einiges an Vorwissen sowie Vertrautheit mit theoretischen Informatikprinzipien. Für Gelegenheitsleser/innen ist das Buch daher ungeeignet, für Studienanfänger/innen zur Wiederholung oder für theoretisch Interessierte kann es etwas bieten.

In der inhaltlichen Ausarbeitung zeigen sich jedoch deutliche Schwächen bei Definitionen und Fachtermini. Ein gravierender Fehler findet sich bereits auf Seite 19, wo die Klasse "NP" fälschlicherweise als „nicht polynomiale Algorithmen“ übersetzt wird, obwohl das Akronym für Nichtdeterministisch in Polynomialzeit steht. Ähnliche Ungenauigkeiten durchziehen weitere Kapitel: Die Definition von Rekursion beschränkt sich oft nur auf den Funktionsaufruf, ohne den essenziellen Basisfall oder die Reduktion klar herauszuarbeiten. Die Baum-Definition ist fehlerhaft – unter anderem wird ein einfacher Binärbaum fälschlich als B-Baum bezeichnet – und auch bei den Heap-Definitionen schleichen sich störende Fehler ein. Zudem fallen in den Musterlösungen (beispielsweise beim Vergleich von Quicksort und Mergesort) sowie bei den Erläuterungen zu Mergesort inhaltliche Schnitzer auf (Quicksort ist nicht "so viel schneller" als Mergesort!). Auch bei Randthemen offenbaren sich Schwächen: Auf Seite 114 wird Python fälschlicherweise als Skriptsprache auf einer Stufe mit JavaScript dargestellt, was veraltet sowie sprachlich abschätzig wirkt und den aktuellen Hype um Python weitgehend ignoriert. Zudem fehlen formale Qualitätsmerkmale wie ein reguläres Literaturverzeichnis; stattdessen gibt es lediglich vereinzelte Fußnoten mit ISBNs oder Webadressen zur Wikipedia-Seite in den Überschriften. Auch redaktionelle Ausrutscher wie „BIOD“ statt „BYOD“ im Vorwort fallen negativ auf.

Didaktisch und strukturell kämpft das Werk mit ständigen Vorgriffen und einer zerklüfteten Themenanordnung. So werden Bäume bereits in Teil I angesprochen, aber erst in Teil II im Detail behandelt. Ähnlich unglücklich ist die Platzierung von Blockchains beim Thema Listen: Die dafür notwendige Kryptographie folgt erst deutlich später, und das zugehörige Hashing wird erst über 200 Seiten danach erklärt. Das Graphen-Kapitel ist zweigeteilt – erste Grundlagen tauchen bei den Basisalgorithmen auf, während das eigentliche Kapitel erst ganz am Ende folgt. Positiv hervorzuheben ist hier zwar die Behandlung von Petri-Netzen, allerdings fehlen klassische Standardalgorithmen wie Dijkstra, Tiefen- und Breitensuche sowie Prim oder Kruskal weitgehend oder werden nicht klar benannt. Gelungen ist hingegen das Beispiel eines Taschenrechners im Rahmen der Rekursion, aber auch da gibt es in der Implementierung Ungenauigkeiten.

Hinsichtlich der Programmierung ist das Buch stark C++-zentriert und setzt solide Kenntnisse im Lesen von Code voraus. Während die Erklärungen im Grundlagenkapitel noch knapp und prägnant gehalten sind, werden die Listings im Verlauf sehr lang und erstrecken sich teilweise über mehrere Seiten. Zusammen mit Programm-Ablauf-Plänen lädt dies zum aktiven Nachvollziehen und Mitdenken ein.

Neben den C++-Listings gibt es nur sehr vereinzelt Ausflüge in andere Sprachen: Drei Java-Kapitel behandeln Petri-Netze, Listen und Bäume, wirken jedoch wie schlecht aus C++ übersetzt und nutzen umständliche, nicht-native Konstruktionen wie überflüssige Variablen in LinkedLists. Für die Signalverarbeitung wird mit dem Arduino eine gute Wahl getroffen. Das Thema Neuronale Netze wird dagegen viel zu knapp abgehandelt. Hier muss man viel an Wissen mitbringen, damit das Kapitel wirklich etwas bringen soll.

Insgesamt eignet sich das Werk nicht als allgemeines Grundlagenbuch für das Informatikstudium oder für Einsteiger ohne Programmierkenntnisse. Es richtet sich primär an C++-Enthusiasten mit mathematischem Grundverständnis, die Freude daran haben, umfangreiche Code-Listings durchzuarbeiten und sich Schritt für Schritt durch C++-Implementierungen führen zu lassen. Ein Nachschlagewerk ist es sicherlich nicht und sollte dringend auch noch mal lektoriert werden für größere und kleinere Fehler (leafs statt leaves, branches statt edges, BIOD statt BYOD, ...) und um exakte Definitionen ergänzt werden.

Bewertung mit 5 von 5 Sternen

Stefan am 03.09.2026

Algorithmen und Datenstrukturen

Ein hervorragendes Buch, das sehr ausführlich und dennoch nicht zu weit ausgeholt die verschiedensten Algorithmen die Grundlage der Programmierung sind abarbeitet. Dabei wird ganz besonders viel Genauigkeit in die Beschreibung der einzelnen Algorithmen gelegt. Mit den Übungen und den dazu passenden Lösungen findet man sich schnell in die verschiedenen Probleme ein. Ich kann dieses Buch nur jedem empfehlen der Informatik studiert.

Bewertung mit 3 von 5 Sternen

Markus am 28.08.2026

Interessante Studiumsbegleitung mit deutlichem Überarbeitungsbedarf

Das Fachbuch "Algorithmen und Datenstrukturen" von René Krooß überzeugt zunächst durch seine große thematische Breite und die Vielzahl an praktischen Beispielen. Auf über 600 Seiten reicht das Spektrum von Berechenbarkeit, Basis- und rekursiven Algorithmen über Listen, Bäume sowie Such- und Sortierverfahren bis hin zu Signal- und Bildverarbeitung, Spracherkennung, neuronalen Netzen, Kryptographie und Graphen. Besonders gelungen ist die Idee, Algorithmen nicht nur theoretisch zu behandeln, sondern sie in konkrete, alltägliche Anwendungsbereiche zu übertragen. Die zahlreichen Übungen und Programmbeispiele machen das Buch deshalb als Begleitung zu Lehrveranstaltungen und zum praktischen Selbststudium durchaus interessant.

Allerdings zeigt die praktische Beschäftigung mit den Beispielen auch deutliche Schwächen. Als Nachschlagewerk für Algorithmen und Datenstrukturen ist das Buch aus meiner Sicht NICHT geeignet. Zu häufig finden sich vereinfachte, unvollständige, schlicht fehlerhafte oder unnötig ineffiziente Implementierungen. Gerade bei den „Basisalgorithmen“ ist das problematisch, da man hier eigentlich einen verlässlichen Werkzeugkasten für die Praxis erwarten würde.

So liefert beispielsweise IstPrim() für bestimmte Eingaben falsche Ergebnisse und arbeitet zudem äußerst ineffizient. Auch der Code zum euklidischen Algorithmus für den GGT enthält problematische Stellen, etwa uninitialisierte Variablen. Das Sieb des Eratosthenes wird deutlich entfernt vom klassischen und effizienten Verfahren umgesetzt. Beim „Search and replace“ bestehen unter anderem Fehler bei bestimmten Suchmustern sowie bei Speicherverwaltung und Grenzen von Puffern. Solche Beispiele sind besonders kritisch, wenn man den gezeigten Code als Vorlage für eigene Programme verwenden.

Auch in späteren Kapiteln finden sich vergleichbare Probleme. Der Taschenrechner-Parser verarbeitet bestimmte Ausdrücke mit Potenzen, Klammern und unärem Minus nicht korrekt. Bei den Threading-Anwendungen fehlen notwendige Absicherungen konkurrierender Zugriffe, sodass Data-Races möglich sind. Im Programm zur Spracherkennung lassen sich unter Linux unter anderem fehlerhafte Array-Grenzen und nicht überprüfte Dateizugriffe beobachten, die zu Laufzeitfehlern/Abstürzen führen! Im Signalverarbeitungskapitel weicht die Definition der Amplitude vom physikalisch Üblichen ab, und bei der Fourier-Transformation wird ausschließlich die naive DFT mit O(n²) vorgestellt, ohne auf effizientere Verfahren wie die Cooley-Tukey-FFT hinzuweisen. Daneben gibt es zahlreiche kleinere redaktionelle und fachliche Auffälligkeiten, etwa Musterlösungen im Anhang passen für mehrere Kapitel nicht zu den dazugehörigen Übungsaufgaben, übernommene Programmreste oder unklare beziehungsweise missverständliche Erklärungen. Das Graphen-Kapitel endet trotz spannendem Auftakt recht abrupt, ohne klassische Verfahren wie Dijkstra, BFS/DFS oder dynamische Programmierung zu behandeln.

Stilistisch ist das Buch zudem teilweise viel zu sehr textlastig. Gerade bei Listen, Bäumen und anderen Datenstrukturen wären mehr Abbildungen und weniger Prosa hilfreich ("ein Bild sagt mehr als 1000 Worte"). Obwohl C++-Kenntnisse vorausgesetzt werden, werden immer wieder grundlegende Sprachkonzepte ausführlich behandelt, während moderne C++-Möglichkeiten wie const, Referenzen, nullptr, Templates und Standardcontainer nur unzureichend zum Einsatz kommen (und dann deutlich kompakteren Java-Beispielen mit Nutzung von Containern gegenüber gestellt). Viele Programme sind schlicht C-Code und nicht zeitgemäßes C++ (wie auch Vermischung durch z.B. "new"-Allokation und "free"-Freigabe).

Trotz dieser Kritik bleibt der Gesamteindruck positiv. Die Themen- und Übungsauswahl ist abwechslungsreich, praxisnah und motivierend, und gerade die Verbindung klassischer Algorithmen mit praktischen, realen Anwendungen ist eine große Stärke des Buches. Man sollte es allerdings eher als Studiumsbegleitung und Ergänzung zu Skripten und praktischen Übungen verstehen, nicht als theoretisches Nachschlagewerk.

Für eine nächste Auflage wäre daher eine gründliche fachliche und redaktionelle Überarbeitung wünschenswert – insbesondere eine Überprüfung sämtlicher Beispielprogramme auf Korrektheit, Sicherheit, Effizienz und modernes C++. Die inhaltliche Grundlage ist vielversprechend. Umso größer ist die Vorfreude auf eine überarbeitete Auflage, die die Stärken des Buches bewahrt und seine zahlreichen Schwächen beseitigt.

Bewertung mit 5 von 5 Sternen

Đuro am 22.08.2026

Djuro

„Algorithmen und Datenstrukturen“ ist ein hervorragendes Buch, das in keiner Bibliothek fehlen sollte.

Der Fokus liegt auf der Praxis mit direkt ausführbarem C++- und Java-Code, was das Buch zu einem idealen Begleiter für alle Interessierten macht.

Obwohl meine C++-Kenntnisse etwas eingerostet sind, helfen die klaren Erklärungen und Ablaufpläne dabei, selbst komplexe Themen zu verstehen.

Da das Werk eine enorme Tiefe bietet – von Basisalgorithmen bis hin zu Graphen –, fiel es mir etwas schwer, alles auf einmal zu erfassen. Ich denke, man sollte dieses Buch definitiv mehrmals lesen, um alle Details wirklich zu verinnerlichen.

Ein ausgezeichneter Ratgeber für jeden Informatiker – eine klare Empfehlung meinerseits!

Bewertung mit 5 von 5 Sternen

Roland am 17.08.2026

Algorithmen_und_Datenstrukturen; ein Praxisbuch

Vorwort
Nach dem Lesen des Vorworts dachte ich «Oh mein Gott; was lese ich da». Die belehrenden Worte von Herr René Kross über gute/schlechte Bücher, wie hilflos/unwissend manche Leser sind usw. haben mich nicht begeistert.

Ganz anders ist es dann aber ab dem Kapitel 1
Das Buch vermittelt die Themen "Algorithmen und Datenstrukturen" auf eine sehr praxisorientierte und zugängliche Art und Weise. Besonders positiv fiel mir auf, dass Theorie und Praxis konsequent miteinander verbunden werden. Für fortgeschrittene Programmierer bietet es einen guten Überblick. Es eignet sich sehr gut als Nachschlagewerk zur Auffrischung einzelner Themenbereiche. Der lockere Ton macht das Buch angenehm lesbar.

Diese Punkte haben mit besonders gut gefallen
1. Hoher Praxisbezug
Die vorgestellten "Algorithmen und Datenstrukturen" werden nicht nur theoretisch beschrieben, sondern durch ausführbare Beispiele inkl. Programmablaufplan in C++ und Java ergänzt. Die Konzepte lassen sich dadurch schnell nachvollziehen und direkt ausprobieren.

2. sehr breite Themenabdeckung
Das Buch deckt ein grosses Spektrum ab: von Laufzeitanalyse, Rekursion und klassischen Datenstrukturen über Such- und Sortierverfahren bis hin zu moderneren Themen wie Kryptographie, neuronalen Netzen und Signalverarbeitung. Es eignet sich hervorragend als umfassender Begleiter für Studium und Weiterbildung.

3. Verständliche und didaktisch gelungene Aufbereitung
Komplexe Themen werden mit vielen anschaulichen Beispielen erläutert. René Kross schafft es, auch anspruchsvollere Inhalte nachvollziehbar darzustellen, ohne dabei zu stark zu vereinfachen. Bravo

4. Praxisnahe Entwicklungsumgebung
Der Fokus auf Linux und Open-Source-Technologien hilft dem Leser ohne grosse Investitionen die Beispiele selber nachzuvollziehen. Besonders positiv ist die Berücksichtigung der Plattform Raspberry Pi, was den Anwendungsbezug zusätzlich stärkt.
Der geneigte Leser sollte sich aber im Vorfeld das Thema «Pointer» nochmals zu Gemüte führen.

5. Gute Unterstützung beim Lernen
Übungsaufgaben, Lösungen und ergänzende Hinweise fördern das selbstständige Lernen. Diese helfen dabei, das Gelernte zu vertiefen. Gerade für die Vorbereitung auf Prüfungen bietet dies einen echten Mehrwert.

Wünsche
1. Begrenzte Tiefe bei einigen Spezialthemen
Fortgeschrittene Entwickler finden viele interessante Themen, jedoch werden anspruchsvollere Bereiche wie Graphen Algorithmen oder moderne algorithmische Optimierungen teilweise eher überblicksartig behandelt. Hier wäre stellenweise mehr Tiefgang wünschenswert.

2. Unterschiedlicher Schwierigkeitsgrad der Übungen
Während viele Aufgaben praxisnah und herausfordernd sind, wirken andere eher auf Einsteiger zugeschnitten. Für erfahrene Leser hätte der Anteil komplexerer Übungsaufgaben teilweise höher ausfallen dürfen.

3. Starker Fokus auf C++ und Linux: Leser mit Python- oder .NET-Hintergrund müssen manche Inhalte gedanklich übertragen.

________________________________________
Empfehlung
Aus meiner Sicht eignet sich dieses Buch besonders für:

• Informatik-Studierende im Bachelor- oder frühen Masterstudium
• Quereinsteiger mit ersten Programmiererfahrungen
• Softwareentwickler, die ihre Kenntnisse zu "Algorithmen und Datenstrukturen" systematisch auffrischen möchten
• Teilnehmer von technischen Weiterbildungen
• Hobby-Programmierer mit Interesse an fundierten Informatik-Grundlagen

Bewertung mit 4 von 5 Sternen

Rainer am 17.08.2026

Praxisnahes Nachschlagewerk für Studium und Praktikum

Mit der zweiten Auflage von Algorithmen und Datenstrukturen legt René Krooß ein gelungenes und praxisorientiertes Buch vor, das hält, was der Untertitel verspricht: durchgängig lauffähige, Zeile für Zeile erklärte C++‑ und Java‑Listings, praxisnahe Beispiele wie der Ringtausch oder die Textsuche sowie Übungen am Kapitelende mit klarem Bezug zu Praktika und Klausuren.

Inhaltlich spannt das Buch einen breiten Bogen: von Basisalgorithmen über Bäume, Such‑ und Sortierverfahren bis hin zu Signalverarbeitung, Bildverarbeitung, neuronalen Netzen und Kryptographie. Damit eignet es sich sowohl als Einstieg als auch als verlässliches Nachschlagewerk über mehrere Semester hinweg. Obwohl alle Beispiele in C++ oder Java umgesetzt sind, bleiben die vermittelten Konzepte sprachübergreifend nutzbar: Wer einmal verstanden hat, wie Rekursion oder Sortierverfahren funktionieren, erkennt dieselben Prinzipien auch in Python, Rust oder anderen Sprachen wieder.

Empfehlenswert ist das Buch für Studierende der Informatik und verwandter Fächer mit soliden Grundkenntnissen (Zeiger, Referenzen, Programmablaufpläne). Für Anfänger ohne Vorkenntnisse ist es kein idealer Einstieg; Fortgeschrittene hingegen werden bis in anspruchsvolle Spezialthemen begleitet.

Bewertung mit 5 von 5 Sternen

Igor am 15.08.2026

Algorithmen verstehen und direkt ausprobieren

Das Buch richtet sich an Leser mit grundlegenden Programmierkenntnissen, die sich praxisnah in Algorithmen und Datenstrukturen einarbeiten möchten.
Der Stoff ist gut aufgebaut und führt von einfachen Grundlagen über klassische Such- und Sortierverfahren sowie Datenstrukturen bis hin zu Themen wie Signal- und Bildverarbeitung, Kryptographie und Graphen.
Besonders hat mir die Mischung aus verständlicher Theorie, direkt lauffähigen C++-/Java-Beispielen und Übungen mit Lösungen gefallen, sodass man vieles sofort selbst ausprobieren kann.
Einige weiterführende Themen werden aufgrund der großen Bandbreite eher exemplarisch behandelt, was für ein praxisorientiertes Einsteigerbuch aber völlig in Ordnung ist.

Insgesamt ist das Buch besonders für Studierende und Entwickler interessant, die das Thema Algorithmen und Datenstrukturen bisher eher als Einstiegshürde empfunden haben – denn es schafft einen verständlichen und praxisnahen Zugang, der diese Hürde deutlich kleiner macht.

Bewertung mit 4 von 5 Sternen

Axel am 12.08.2026

Algorithmen und Datenstrukturen

Nach einer kurzen Einführung über Turing Maschinen und einer Laufzeitanalyse von Algorithmen sowie einigen einfache Basis-Algorithmen geht es los mit rekursiven Algorithmen, verschiedenen verketteten Listen und Bäumen sowie den gängigen Such- und Sortierverfahren.

Alle Themen werden gut verständlich an Beispielen, mit gut strukturierten Ablaufplänen, zeilenweise im C++-Code erklärt. Abgerundet wird alles mit den herunterladbaren und lauffähigem C++-Code, sowie an durchgespielten praktischen Beispielen und Übungen (mit Lösungen).

Themen wie Signalverarbeitung, Bildverarbeitung, Neuronale Netze, Kryptografische Algorithmen und Graphen werden zwar ebenfalls behandelt, aber wer sich tiefer mit diesen Themen beschäftigen möchte, sollte lieber zu speziellen Fachbüchern greifen.

Fazit: Wer sich einigermaßen mit C(++) auskennt und hauptsächlich mit C++ programmiert, ist mit diesem Buch gut beraten, wer Programmieranfänger ist und keine Erfahrung mit C hat, fährt besser mit der Beschreibung diese Themen in anderen Sprachen.

Bewertung mit 5 von 5 Sternen

Frank am 01.08.2026

Schöne Zusammenstellung

Die dargestellten Algorithmen passen hervorragend, um den Informatik-Unterricht am Gymnasium zu begleiten und den Horizont darüber hinaus zu erweitern. Überraschend und doch schlüssig, dass KI-Algorithmen in Form von Neuronalen Netzen nur angerissen werden.

René Krooß

René Krooß hat Informatik an der FH Dortmund studiert. Sein Wissen gibt er seit mehr als zehn Jahren als Trainer bei Kapiert und an der FH Südwestfalen in Hagen in Form von Computerkursen und Praktika an Schüler und Studierende weiter. Er ist selbstständig und als freier Buchautor tätig.

Die Coverdateien dürfen Sie zur Bewerbung des Buches honorarfrei verwenden.