Open data structures implemented in go-1.18 with generics.
Purely for academic purposes; don't use this in production (obviously)
Resizable Arrays:
- ArrayStack
- FastArrayStack (needs
memcpy
no thanks...) - ArrayQueue
- ArrayDeque
- DualArrayDeque
- RootishArrayStack
Linked Lists:
- SList
- DList
- SEList
SkipLists:
- SkipList
- SkipListList
Hash Tables:
- ChainedHashTable
- LinearHashTable
Trees:
- BinaryTree
- BinarySearchTree
- Treap
- ScapegoatTree
- RedBlackTree
Heaps:
- BinaryHeap
- MeldableHeap
Sorting Algos:
- mergesort
- quicksort
- heapsort
Graphs:
- AdjacencyMatrix
- AdjacencyList