How emirpasic/gods works
GoDS is a Go library of generic data structures, not a hosted service: callers choose a collection, use its operations, and retrieve values or traverse its contents. Its major stages are sequence, set, map, tree, queue, and stack operations; shared interfaces, iterators, serialization, and comparators support those APIs. The graph preserves the README’s principal structure families and shows only sampled implementation dependencies. Other package-level wiring is not inferred from the excerpts.
Main entry points: arraylist.go ArrayList · doublylinkedlist.go DoublyLinkedList · singlylinkedlist.go SinglyLinkedList · redblacktree.go RedBlackTree
Components 26
Lists
- ArrayList
lists/arraylist/arraylist.go - SinglyLinkedList
lists/singlylinkedlist/singlylinkedlist.go - DoublyLinkedList
lists/doublylinkedlist/doublylinkedlist.go
Sets and Maps
- HashSet
sets/hashset/hashset.go - TreeSet
sets/treeset/treeset.go - LinkedHashSet
sets/linkedhashset/linkedhashset.go - HashMap
maps/hashmap/hashmap.go - TreeMap
maps/treemap/treemap.go - LinkedHashMap
maps/linkedhashmap/linkedhashmap.go - HashBidiMap
maps/hashbidimap/hashbidimap.go - TreeBidiMap
maps/treebidimap/treebidimap.go
Trees
- RedBlackTree
trees/redblacktree/redblacktree.go - AVLTree
trees/avltree/avltree.go - BTree
trees/btree/btree.go - BinaryHeap
trees/binaryheap/binaryheap.go
Queues and Stacks
- LinkedListQueue
queues/linkedlistqueue/linkedlistqueue.go - ArrayQueue
queues/arrayqueue/arrayqueue.go - CircularBuffer
queues/circularbuffer/circularbuffer.go - PriorityQueue
queues/priorityqueue/priorityqueue.go - ArrayStack
stacks/arraystack/arraystack.go - LinkedListStack
stacks/linkedliststack/linkedliststack.go
Shared APIs
- Container contracts
containers/containers.go - Iterator contracts
containers/iterator.go - Serialization
containers/serialization.go - Comparators
utils/comparator.go
Other components
- Go caller
Connections 37
- Go caller → ArrayList: uses
- Go caller → SinglyLinkedList: uses
- Go caller → DoublyLinkedList: uses
- Go caller → HashSet: uses
- Go caller → TreeSet: uses
- Go caller → LinkedHashSet: uses
- Go caller → HashMap: uses
- Go caller → TreeMap: uses
- Go caller → LinkedHashMap: uses
- Go caller → HashBidiMap: uses
- Go caller → TreeBidiMap: uses
- Go caller → RedBlackTree: uses
- Go caller → AVLTree: uses
- Go caller → BTree: uses
- Go caller → BinaryHeap: uses
- Go caller → LinkedListQueue: uses
- Go caller → ArrayQueue: uses
- Go caller → CircularBuffer: uses
- Go caller → PriorityQueue: uses
- Go caller → ArrayStack: uses
- Go caller → LinkedListStack: uses
- TreeSet → RedBlackTree: stores items in
- TreeMap → RedBlackTree: stores pairs in
- BinaryHeap → ArrayList: stores values in
- LinkedHashSet → DoublyLinkedList: tracks ordering with
- ArrayList → Container contracts: implements
- SinglyLinkedList → Container contracts: implements
- DoublyLinkedList → Container contracts: implements
- ArrayList → Iterator contracts: supports traversal
- SinglyLinkedList → Iterator contracts: supports traversal
- DoublyLinkedList → Iterator contracts: supports traversal
- ArrayList → Serialization: serializes
- SinglyLinkedList → Serialization: serializes
- DoublyLinkedList → Serialization: serializes
- TreeMap → Comparators: orders keys with
- TreeSet → Comparators: orders items with
- RedBlackTree → Comparators: compares keys with