Algorithmen kapieren

Visuell lernen und verstehen mit Illustrationen, Alltagsbeispielen und Python-Code

Aditya Y Bhargava

Diese Publikation zitieren

Aditya Y Bhargava, Algorithmen kapieren (2018), mitp-Verlag, Frechen, ISBN: 9783958458147

6191
Accesses
23
Quotes

Beschreibung / Abstract

Visuelle Erläuterungen mit über 400 erklärenden Bildern
Mit anschaulichen Beispielen und zahlreichen Übungen
Ausführlich kommentierter Beispielcode in Python
Ab sofort sind Algorithmen nicht mehr langweilig und trocken! Mit diesem Buch wird es dir Spaß machen, dich mit Algorithmen zu beschäftigen, und es wird dir leichtfallen zu verstehen, wie diese funktionieren.
Du erhältst eine anschauliche Einführung in Algorithmen und lernst visuell und praxisnah, wie du die wichtigsten Algorithmen für Aufgaben einsetzt, die dir bei der Programmierung täglich begegnen.
Du beginnst mit einfachen Aufgaben wie Sortieren und Suchen. Mit diesen Grundlagen gerüstet kannst du auch schwierigere Aufgaben wie dynamische Programmierung oder Künstliche Intelligenz in Angriff nehmen.
Der Autor erläutert die Funktionsweise der Algorithmen anhand ganz einfacher Beispiele. So verdeutlicht er z.B. den Unterschied zwischen Arrays und verketteten Listen anhand der Aufgabe, mehrere noch freie Plätze in einem Kinosaal zu finden. Solche Beispiele zeigen dir ganz anschaulich, wie und wofür du die jeweiligen Algorithmen effektiv einsetzen kannst.
Zu allen Erläuterungen findest du anschauliche Bilder und Diagramme sowie ausführlich kommentierten Beispielcode in Python.
Wenn du Algorithmen verstehen möchtest, ohne dich mit komplizierten seitenlangen Beweisen herumzuplagen, ist dieses Buch genau das richtige für dich.

Aus dem Inhalt:
Such-, Sortier- und Graphenalgorithmen
Performance von Algorithmen analysieren (Landau-Notation)
Arrays, verkettete Listen und Hashtabellen
Rekursion und Stacks
Quicksort und das Teile-und-herrsche-Verfahren
Dijkstra-Algorithmus für die Ermittlung des kürzesten Pfads
Approximationsalgorithmen und NP-vollständige Probleme
Greedy-Algorithmen
Dynamische Programmierung
Klassifikation und Regression mit dem k-Nächste-Nachbarn-Algorithmus

Beschreibung

Aditya Bhargava ist Softwareentwickler, der sich nicht nur mit Informatik, sondern auch mit bildender Kunst befasst. Er bloggt über Programmierung unter adit.io.

Inhaltsverzeichnis

  • Cover
  • Titel
  • Impressum
  • Inhaltsverzeichnis
  • Vorwort
  • Einleitung
  • Überblick
  • Verwendung dieses Buchs
  • Wer sollte dieses Buch lesen?
  • Konventionen und Downloads
  • Über den Autor
  • Danksagungen
  • Kapitel 1: Einführung in Algorithmen
  • 1.1 Einführung
  • 1.2 Binäre Suche
  • 1.3 Landau-Notation
  • 1.4 Zusammenfassung
  • Kapitel 2: Selectionsort
  • 2.1 Die Funktionsweise des Arbeitsspeichers
  • 2.2 Arrays und verkettete Listen
  • 2.3 Selectionsort
  • 2.4 Zusammenfassung
  • Kapitel 3: Rekursion
  • 3.1 Rekursion
  • 3.2 Basisfall und Rekursionsfall
  • 3.3 Der Stack
  • 3.4 Zusammenfassung
  • Kapitel 4: Quicksort
  • 4.1 Teile und herrsche
  • 4.2 Quicksort
  • 4.3 Landau-Notation im Detail
  • 4.4 Zusammenfassung
  • Kapitel 5: Hashtabellen
  • 5.1 Hashfunktionen
  • 5.2 Anwendungsfälle
  • 5.3 Performance
  • 5.4 Zusammenfassung
  • Kapitel 6: Breitensuche
  • 6.1 Einführung in Graphen
  • 6.2 Was ist ein Graph?
  • 6.3 Breitensuche
  • 6.4 Implementierung des Graphen
  • 6.5 Implementierung des Algorithmus
  • 6.6 Zusammenfassung
  • Kapitel 7: Der Dijkstra-Algorithmus
  • 7.1 Anwendung des Dijkstra-Algorithmus
  • 7.2 Terminologie
  • 7.3 Eintauschen gegen ein Klavier
  • 7.4 Negativ gewichtete Kanten
  • 7.5 Implementierung
  • 7.6 Zusammenfassung
  • Kapitel 8: Greedy-Algorithmen
  • 8.1 Das Stundenplanproblem
  • 8.2 Das Rucksackproblem
  • 8.3 Das Mengenüberdeckungsproblem
  • 8.4 NP-vollständige Probleme
  • 8.5 Das Problem des Handlungsreisenden – Schritt für Schritt
  • 8.6 Zusammenfassung
  • Kapitel 9: Dynamische Programmierung
  • 9.1 Das Rucksackproblem
  • 9.2 Häufig gestellte Fragen zum Rucksackproblem
  • 9.3 Der längste gemeinsame Teilstring
  • 9.4 Zusammenfassung
  • Kapitel 10: k-nächste Nachbarn
  • 10.1 Klassifikation von Orangen und Grapefruits
  • 10.2 Entwicklung eines Empfehlungssystems
  • 10.3 Einführung in Machine Learning
  • 10.4 Zusammenfassung
  • Kapitel 11: Die nächsten Schritte
  • 11.1 Bäume
  • 11.2 Invertierte Indizes
  • 11.3 Die Fourier-Transformation
  • 11.4 Nebenläufige Algorithmen
  • 11.5 MapReduce
  • 11.6 Bloom-Filter und HyperLogLog
  • 11.7 Die SHA-Algorithmen
  • 11.8 Locality-Sensitive Hashing
  • 11.9 Diffie-Hellman-Schlüsselaustausch
  • 11.10 Lineare Programmierung
  • 11.11 Epilog
  • Anhang: Lösungen zu den Übungen
  • Kapitel 1
  • Kapitel 2
  • Kapitel 3
  • Kapitel 4
  • Kapitel 5
  • Kapitel 6
  • Kapitel 7
  • Kapitel 8
  • Kapitel 9
  • Kapitel 10
  • Stichwortverzeichnis

Mehr von dieser Serie

    Ähnliche Titel

      Mehr von diesem Autor