Algorithmen und Datenstrukturen in Go
Go gibt dir Slices und Maps und überlässt den Rest dir: keinen Stack-, Queue- oder Set-Typ und einen Heap in container/heap, der nichts tut, bis du heap.Interface implementierst. Auf diesem Pfad baust du jede Struktur in Go mit Structs und Zeigern, sortierst dann damit, arbeitest rekursiv, durchsuchst Graphen und schließt mit bewerteten Interviewaufgaben ab. Kostenlos, im Browser, mit einem Zertifikat in den meisten Kursen.
377 Lektionen228 Aufgaben702 Quizfragen
- Anfängerfreundlich
KI-gestützte Coding-Hilfe
Praktische, interaktive Lektionen
Audio-Erzählung in jeder Lektion
Quizfragen zum Wissenstest
23 kostenlose Zertifikate entlang des Pfads
DSA in Go, Schritt für Schritt
Jeder Schritt besteht aus bestehenden Coddy-Kursen, und jeder Klick auf „Starten“ öffnet sie in Go. Die drei Kurse, die es noch nicht in Go gibt, sind nach den Schritten aufgeführt.
- 1Schritt 15 Kurse, der Reihe nach
- 2Schritt 2
Datenstrukturen-Reihe, Teil zwei
Diesen Schritt startenStartenDoppelt verkettete Liste, Heaps und Prioritätswarteschlangen, Tries, Graphen und der selbstbalancierende AVL-Baum.container/listist die erste davon, fertig mitgeliefert; nach diesem Schritt ergeben die fünf Methoden vonheap.InterfaceSinn, weil du selbst einen Heap gebaut hast, und den balancierten Baum, den Go nie mitgeliefert hat, kannst du selbst bauen.Starten5 Kurse, der Reihe nach- Doppelt verkettete Liste - Datenstrukturen-Serie #614 Lektionen6 Aufgaben
- Heaps & Priority Queues - Datenstrukturen-Serie #714 Lektionen6 Aufgaben
- Tries - Datenstrukturen-Serie #814 Lektionen12 Aufgaben
- Graphen - Datenstrukturen-Serie #914 Lektionen12 Aufgaben
- AVL-Baum - Datenstrukturen-Serie #1016 Lektionen6 Aufgaben
- 3Schritt 3
Sortieralgorithmen
Diesen Schritt startenStartenBubble-, Selection-, Insertion-, Merge-, Quick-, Heap-, Counting- und Radixsort, in Go geschrieben und im Visualizer beobachtet.sort.Slicenutzt seit Go 1.19 Pattern-defeating Quicksort,slices.Sortebenfalls, und keine der beiden Funktionen ist stabil, weshalb essort.SliceStablegibt; nach diesem Schritt weißt du, was jedes dieser Wörter bedeutet.Starten8 Kurse, der Reihe nach- Bubble Sort11 Lektionen10 Aufgaben
- Selection Sort - DSA-Serie9 Lektionen3 Aufgaben54 Fragen
- Insertion Sort - DSA-Serie9 Lektionen3 Aufgaben
- Merge Sort - DSA-Serie9 Lektionen3 Aufgaben52 Fragen
- Quick Sort - DSA-Serie9 Lektionen3 Aufgaben52 Fragen
- Heap Sort - DSA-Serie9 Lektionen3 Aufgaben54 Fragen
- Counting Sort - DSA-Serie9 Lektionen3 Aufgaben52 Fragen
- Radix Sort - DSA-Serie9 Lektionen3 Aufgaben55 Fragen
- 4Schritt 4
Rekursives DenkenEigene Seite
Diesen Schritt startenStartenRekursionsaufgaben in Go, wo die Stacks von Goroutinen klein beginnen und bei Bedarf wachsen, sodass eine Rekursion, die Tausende Aufrufe tief geht, selten überläuft. Ein fehlender Basisfall stößt trotzdem an die Obergrenze, standardmäßig 1 GB Stack auf 64-Bit-Systemen, und endet in einem fatalen Fehler statt in einem langsamen Programm. Dynamische Programmierung und Bitmanipulation sind nach den Schritten aufgeführt, da sie in Python und C++ unterrichtet werden.StartenEigene Seite - 5Schritt 5
Graphalgorithmen
Diesen Schritt startenStartenBreiten- und Tiefensuche, Dijkstra, Bellman-Ford, topologische Sortierung, Kruskal und Prim in Go, auf dem Graphen, den du in Schritt zwei gebaut hast. Die Prioritätswarteschlange für Dijkstra ist in Gocontainer/heapüber einem Slice deines eigenen Typs: der Heap aus Schritt zwei, hinter einem Interface.Starten7 Kurse, der Reihe nach- Breadth-First Search – Graph-Algorithmen9 Lektionen3 Aufgaben54 Fragen
- Tiefensuche - Graph-Algorithmen9 Lektionen3 Aufgaben54 Fragen
- Dijkstra-Algorithmus - Graph-Algorithmen9 Lektionen3 Aufgaben54 Fragen
- Bellman-Ford-Algorithmus - Graphenalgorithmen9 Lektionen3 Aufgaben54 Fragen
- Topologische Sortierung - Graph-Algorithmen9 Lektionen3 Aufgaben55 Fragen
- Kruskals Algorithmus - Graph-Algorithmen9 Lektionen3 Aufgaben57 Fragen
- Prims Algorithmus - Graphenalgorithmen9 Lektionen3 Aufgaben55 Fragen
- 6Schritt 6
Interviewpraxis
Diesen Schritt startenStartenZehn Interview-Challenge-Pakete und zwei Aufgabensammlungen in Go, per Testfällen bewertet: unbekannte Probleme, ohne Tutorial gelöst, mit Slices, Maps und den Strukturen, die du unterwegs gebaut hast.Starten12 Kurse, der Reihe nach- Interview Coding-Challenges – Paket I3 Lektionen3 Aufgaben
- Interview Coding-Challenges – Paket II3 Lektionen3 Aufgaben
- Interview-Coding-Challenges – Paket III3 Lektionen3 Aufgaben
- Interview-Coding-Challenges – Paket IV3 Lektionen3 Aufgaben
- Interview-Coding-Challenges – Paket V3 Lektionen3 Aufgaben
- Interview Coding-Challenges – Paket VI3 Lektionen3 Aufgaben
- Interview-Coding-Challenges – Paket VII3 Lektionen3 Aufgaben
- Interview-Coding-Challenges – Paket VIII3 Lektionen3 Aufgaben
- Interview Coding-Challenges – Paket IX3 Lektionen3 Aufgaben
- Interview Coding Challenges - X3 Lektionen3 Aufgaben
- Programmieraufgaben32 Lektionen31 Aufgaben
- Programmieraufgaben: Band 225 Lektionen24 Aufgaben
Learn by Doing
Write real code, query databases, build websites, and master AI prompts. Our interactive lessons cover every skill modern developers need.
Build Your Coding Streak
Stay consistent and watch your progress grow! Track your daily coding habit, protect your streak with freeze days, and earn rewards for showing up every day.
12 days streak
Return tomorrow to keep your streak!
January 2026
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
21
22
23
24
25
26
27
28
29
30
Double or Nothing
Day 5 of 7
Streak Freeze
2 left
Code Anywhere, Anytime
Take your coding journey on the go! No setup, no downloads - just open and start coding. Available on iOS, Android and Web with 4.9 star ratings.
You're Not Alone in This
Compete on global leaderboards, invite friends to earn rewards, and celebrate each other's wins. Coding is better with friends!
Every way to learn
Read, listen, test yourself, ask the AI, or look up anything you've already covered. Every lesson meets you where you are.
A variable is a named container that stores a value you can reference later in your program.
In Python, you create one by writing the name, an equals sign, then the value you want to store.
The value can change over time - reassigning the name simply points it to a new value.
Prove Your Skills
Earn certificates for every course you complete. Add them to your LinkedIn profile and resume to showcase your coding expertise to employers.
Warum DSA in Go mit Coddy lernen
- Die Strukturen, die Go dir überlässt. Go hat Slices und Maps eingebaut und hört dort auf: Ein Stack ist ein Slice, an das du mit
appendanhängst und das du neu zuschneidest, ein Set ist einemap[T]struct{}, und einen Queue-Typ oder Baum gibt es überhaupt nicht. Zu wissen, wie man die fehlenden schreibt und was jede Slice-Operation kostet, gehört dazu, Go zu können. - Structs und Zeiger, nichts versteckt. Go hat keine Klassen: Ein Knoten ist ein
structmit einem Zeiger auf den nächsten, und Methoden hängen am Typ. Verkettete Listen und Bäume sehen genau nach dem aus, was sie sind, Generics (seit Go 1.18) machen sie für jeden Elementtyp wiederverwendbar, und dank Garbage Collector gibt es keinmallocund keinfreezu verwalten. - Fast der ganze Pfad in Go. Jede Datenstruktur, jedes Sortierverfahren, jeder Graphalgorithmus, jede Rekursionsaufgabe und jedes Interviewpaket wird in Go unterrichtet. Drei werden in einer anderen Sprache unterrichtet und sind nach den Schritten aufgeführt, jeweils mit einem Link: dynamische Programmierung und die Python-Interviewreihe in Python sowie Bitmanipulation in C++. Bitmanipulation liest sich aus Go heraus natürlich, denn Go hat die Operatoren
&,|,^,<<und>>von C++ und schreibt NOT als^x. - Bewertet wie im Interview. Jede Lektion endet mit einer Go-Aufgabe, die per Testfällen geprüft wird, und schlägt sie fehl, liest Bugsy deinen Code und führt dich zur Lösung, ohne sie zu verraten. Ein kostenloses Zertifikat in den meisten Kursen, jedes unter seiner eigenen URL verifizierbar.
Häufige Fragen zu DSA in Go
Eignet sich Go für Datenstrukturen und Algorithmen?
container/list und container/heap hinaus schreibst du die Strukturen selbst, und auf einem Lernpfad ist das der Sinn der Sache. Auf Go läuft außerdem ein Großteil der heutigen Cloud-Infrastruktur, Docker und Kubernetes eingeschlossen, was es zu einer naheliegenden Interviewsprache für Backend-Rollen macht.Welche Go-Typen und Pakete entsprechen welchen Datenstrukturen?
append und Reslicing auch dein Stack; eine Map ist eine Hashtabelle, und map[T]struct{} ist das idiomatische Set; container/list ist eine doppelt verkettete Liste; und container/heap betreibt einen binären Heap über jedem Typ, der heap.Interface implementiert. Einen Queue-Typ, Baum, Trie oder Graphen gibt es nicht, die baust du also selbst, in den Schritten eins und zwei.Wie funktioniert container/heap in Go?
container/heap in Go?heap.Interface auf einem eigenen Slice-Typ: Len, Less und Swap aus sort.Interface, dazu Push und Pop, die nur am Ende des Slices anhängen und entfernen. Dann rufst du die Paketfunktionen heap.Push und heap.Pop auf, nie deine eigenen Methoden, und sie verschieben die Elemente nach oben und unten, damit die Ordnung erhalten bleibt. Das liest sich seltsam, bis du selbst einen Heap geschrieben hast, und das tust du in Schritt zwei.Warum durchläuft Go eine Map jedes Mal in einer anderen Reihenfolge?
Welche Kurse auf diesem Pfad werden nicht in Go unterrichtet?
&^, AND NOT, der im linken Operanden jedes Bit löscht, das im rechten gesetzt ist.