This is a collection of implementation of a variety of algorithms implemented in Go. Clean and simple code to help people get started with data structures and algorithms in golang.
- Stack (Array , LinkedList).
- Queue (Array , LinkedList).
- Priority Queue.
- Binary Search Tree (Normal , Red-Black).
- Binary Heap.
- Tries (Normal , Ternary).
- Binary Search.
- Quick Find.
- Quick Union.
- Quick Union Weighted.
- Breadth First Search.
- Depth First Search.
- Strong Connected Components (Directed Graph).
- Topological Sort.
- Max-Min Flow (ford fulkerson).
- Minimum Spanning Trees (Kruskal , Prim).
- Dijkstra Shortest Path.
- Bellman Ford (Shortest Path).
- Selection Sort.
- Inserton Sort.
- Merge Sort (Normal , Bottom Up).
- Heap Sort.
- Shell Sort.
- Quick Sort.
- Key Indexed Counting.
- LSD Radix Sort.
- MSD Radix Sort.