Implement data structure and algorithm with golang with example
Use generic type for implement data structure and algorithm for more flexible and easy to use.
- Set implementation | test
- Queue implementation | test
- Deque implementation | test
- Stack implementation | test
- Linked List implementation | test
- Heap
- Binary Heap implementation | test
- D-ary Heap
- Binomial Heap
- Fibonacci Heap
- Pairing Heap
- Graph
- Adjacency List implementation | test
- Adjacency Matrix
- Incidence Matrix
- Tree
- Trie implementation | test
- Binary Search Tree
- AVL Tree
- Red-Black Tree
- Segment Tree
- Fenwick Tree
- Bloom Filter
- Skiplist
- Round Robin
- Rabin-Karp
- Backtracking
- Aho-Corasick
- Sorting
- Bubble Sort
- Selection Sort
- Insertion Sort
- Merge Sort
- Quick Sort
- Pattern-defeating Quicksort (PDQ)
- Counting Sort
- Radix Sort
- Bucket Sort
- Heap Sort
- Topological Sort
- Bucket Sort
- Searching
- Linear Search
- Binary Search
- Interpolation Search
- Jump Search
- Exponential Search
- Fibonacci Search
- Ternary Search
- Boyer-Moore Search
I'm open to contributions & suggestions for improvements. Feel free to create a pull request or open an issue for any bugs.
- Fork the project
- Create your feature branch (git checkout -b feature/AmazingFeature)
- Commit your changes (git commit -m 'Add some AmazingFeature')
- Push to the branch (git push origin feature/AmazingFeature)
- Fix open issues or request new features