Algorithmen und Datenstrukturen in Go (Golang)
Algorithmen und Datenstrukturen in Go (Golang)
Zusammenfassung:
Das Buch „Algorithmen und Datenstrukturen in Go (Golang)“ ist ein praktischer Leitfaden für Entwickler, die ihre Kenntnisse in Algorithmen und Datenstrukturen mit der modernen Programmiersprache Go vertiefen möchten. Im Gegensatz zu abstrakten Lehrbüchern konzentriert sich dieses Buch auf reale Codebeispiele, Leistung und idiomatischen Go-Stil.
Worum geht es in diesem Buch?
Sie werden den Weg von grundlegenden Datenstrukturen bis hin zu komplexen Optimierungsalgorithmen durchlaufen. Jedes Thema wird begleitet von:
- Ausführlicher Erklärung der Theorie und mathematischen Grundlagen
- Implementierung in reinem Go ohne externe Abhängigkeiten
- Analyse der Zeit- und Raumkomplexität (Big O)
- Leistungstests (Benchmarks) und Benchmarks
- Praktischen Aufgaben mit Lösungen
Inhalt des Buches:
- Grundlagen: Arrays, Slices, Maps, Strings – Besonderheiten der Arbeit in Go
- Sortierung und Suche: Quicksort, Mergesort, binäre Suche, Substring-Suche
- Verkettete Listen und Stacks: Einfach und doppelt verkettete Listen, Implementierungen von Stack und Queue
- Bäume: Binäre Suchbäume, AVL-Bäume, Rot-Schwarz-Bäume, B-Bäume
- Graphen: Darstellung von Graphen, BFS, DFS, Dijkstra-Algorithmus, A*-Algorithmus
- Hashtabellen: Implementierung mit Verkettung und offener Adressierung, Hashfunktionen
- Dynamische Programmierung: Rucksackproblem, Editierdistanz, Fibonacci-Zahlen
- Parallele Algorithmen: Nutzung von Goroutinen und Kanälen für die parallele Datenverarbeitung
Für wen ist dieses Buch?
- Go-Entwickler auf Junior- und Middle-Niveau, die ihr Wissen systematisieren möchten
- Studenten, die Algorithmen praktisch und nicht nur theoretisch lernen
- Backend-Ingenieure, die mit hochbelasteten Systemen arbeiten
- Alle, die sich auf technische Vorstellungsgespräche vorbereiten (LeetCode in Go)
Was werden Sie lernen?
- Wie man die richtige Datenstruktur für eine bestimmte Aufgabe auswählt
- Wie man effizienten Go-Code unter Berücksichtigung der Garbage-Collection schreibt
- Wie man typische Fehler bei der Arbeit mit Zeigern und Interfaces vermeidet
- Wie man Goroutinen zur Beschleunigung von Algorithmen einsetzt
- Wie man Algorithmen in Go testet und profiliert
Das Buch ist in einer lebendigen Sprache mit Fokus auf die Praxis geschrieben. Alle Codebeispiele sind in einem Repository auf GitHub verfügbar. Nach der Lektüre werden Sie in der Lage sein, beliebige Algorithmen in Go sicher zu implementieren und fundierte Entscheidungen zur Softwarearchitektur zu treffen.
Bonus: Am Ende des Buches – 50 Aufgaben zur selbstständigen Lösung mit Analyse schwieriger Fälle und typischer Fehler.