gods

module
v0.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 13, 2025 License: MIT

README

Go Data Structures

A collection of data structures implemented in Go.

Containers

Data Structure Ordered Iterator Serializable Referenced by Implemented
Tree
BTree Y Y Y Key
RBTree Y Y Y Key
AVLTree Y Y Y Key
Map
HashMap N (sort) Y Y Key
HashBiMap N (sort) Y Y Key
BTreeBiMap Y Y Y Key
RBTreeBiMap Y Y Y Key
LinkedHashMap Y Y Y Key
Set
HashSet N Y Y Index
BTreeSet Y Y Y Index
RBTreeSet Y Y Y Index
LinkedHashSet Y Y Y Index
Queue
SliceDeque Y Y Y Index
PriorityQueue Y Y N Index
Stack
SliceStack Y Y Y Index

Benchmarks

go test -run=NO_TEST -bench . -benchmem  -benchtime 1s ./...

License

MIT

Acknowledgments

Directories

Path Synopsis
Package avltree implements a self-balancing AVL binary search tree for ordered key-value storage.
Package avltree implements a self-balancing AVL binary search tree for ordered key-value storage.
Package btree implements a B-tree for ordered key-value storage.
Package btree implements a B-tree for ordered key-value storage.
Package treebidimap implements a bidirectional map using two red-black trees.
Package treebidimap implements a bidirectional map using two red-black trees.
Package btreeset provides a set implementation using a red-black tree.
Package btreeset provides a set implementation using a red-black tree.
Package cmp provides generic utility functions, including comparators for ordering values.
Package cmp provides generic utility functions, including comparators for ordering values.
Package container provides core interfaces and utilities for working with data structures.
Package container provides core interfaces and utilities for working with data structures.
Package hashbidimap implements a bidirectional map backed by two hashmaps.
Package hashbidimap implements a bidirectional map backed by two hashmaps.
Package hashmap implements a map backed by a hash table.
Package hashmap implements a map backed by a hash table.
internal
Package linkedhashmap is a map that preserves insertion-order.
Package linkedhashmap is a map that preserves insertion-order.
Package linkedhashset is a set that preserves insertion-order.
Package linkedhashset is a set that preserves insertion-order.
Package pqueue provides a generic priority queue implementation based on container/heap.
Package pqueue provides a generic priority queue implementation based on container/heap.
Package rbtree implements a red-black tree for ordered key-value storage.
Package rbtree implements a red-black tree for ordered key-value storage.
Package treebidimap implements a bidirectional map backed by two red-black tree.
Package treebidimap implements a bidirectional map backed by two red-black tree.
Package rbtreeset provides a set implementation using a red-black tree.
Package rbtreeset provides a set implementation using a red-black tree.
Package deque implements a generic, non-thread-safe double-ended queue (deque) using a circular buffer.
Package deque implements a generic, non-thread-safe double-ended queue (deque) using a circular buffer.
Package slicestack implements a stack backed by a Go slice.
Package slicestack implements a stack backed by a Go slice.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL