A collection of common data structures and algorithms for Go applications.
- Algorithms
- Comparative Sorts
- Selection Sort
- Insertion Sort
- Shell Sort
- Merge Sort
- Quick Sort
- 3-Way Quick Sort
- Heap Sort
- Non-Comparative Sorts
- Least Significant Digit
- Most Significant Digit
- 3-Way Quick Sort
- Misc
- Shuffle
- Quick Select
- Comparative Sorts
- Data Structures
- Lists
- Queue
- Stack
- Heaps
- Binary Heap
- Indexed Binary Heap
- Sets
- Union
- Intersection
- Difference
- Powerset,
- Partitions
- Symbol Tables
- Unordered
- Separate Chaining Hash Table
- Linear Probing Hash Table
- Quadratic Probing Hash Table
- Double Hashing Hash Table
- Ordered
- BST
- AVL Tree
- Red-Black Tree
- Tries
- Binary Trie
- Patricia Trie
- Unordered
- Graphs
- Undirected Graph
- Directed Graph
- Weighted Undirected Graph
- Weighted Directed Graph
- Automata
- DFA
- NFA
- Grammars
- Context-Free Grammar
- Chomsky Normal Form
- Left Recursion Elimination
- Left Factoring
- Context-Free Grammar
- Lists
Command | Purpose |
---|---|
make test |
Run unit tests |
make benchmark |
Run benchmarks |
make coverage |
Run unit tests and generate coverage report |