Documentation ¶
Overview ¶
Package datastructures exists solely to aid consumers of the godatastructures library when using dependency managers. Depman, for instance, will work correctly with any datastructure by simply importing this package instead of each subpackage individually.
For more information about the datastructures package, see the README at
http://github.com/Workiva/godatastructures
Directories ¶
Path  Synopsis 

Package augmentedtree is designed to be useful when checking for intersection of ranges in ndimensions.

Package augmentedtree is designed to be useful when checking for intersection of ranges in ndimensions. 
Package bitarray implements a bit array.

Package bitarray implements a bit array. 
btree


immutable
Package btree provides a very specific set implementation for k/v lookup.

Package btree provides a very specific set implementation for k/v lookup. 
palm
Package palm implements parallel architecturefriendly latchfree modifications (PALM).

Package palm implements parallel architecturefriendly latchfree modifications (PALM). 
plus
Package btree/plus implements the ubiquitous B+ tree.

Package btree/plus implements the ubiquitous B+ tree. 
Package fibheap is an implementation of a priority queue backed by a Fibonacci heap, as described by Fredman and Tarjan.

Package fibheap is an implementation of a priority queue backed by a Fibonacci heap, as described by Fredman and Tarjan. 
Package futures is useful for broadcasting an identical message to a multitude of listeners as opposed to channels which will choose a listener at random if multiple listeners are listening to the same channel.

Package futures is useful for broadcasting an identical message to a multitude of listeners as opposed to channels which will choose a listener at random if multiple listeners are listening to the same channel. 
Package graph provides graph implementations.

Package graph provides graph implementations. 
hashmap


fastinteger
Package fastinteger is designed to provide a very primitive implementation of a hash map for unsigned integer keys and values.

Package fastinteger is designed to provide a very primitive implementation of a hash map for unsigned integer keys and values. 
Package list provides list implementations.

Package list provides list implementations. 
numerics


hilbert
Package Hilbert is designed to allow consumers to find the Hilbert distance on the Hilbert curve if given a 2 dimensional coordinate.

Package Hilbert is designed to allow consumers to find the Hilbert distance on the Hilbert curve if given a 2 dimensional coordinate. 
Package queue includes a regular queue and a priority queue.

Package queue includes a regular queue and a priority queue. 
Package rangetree is designed to store ndimensional data in an easytoquery way.

Package rangetree is designed to store ndimensional data in an easytoquery way. 
skiplist
Package skiplist implements an ndimensional rangetree based on a skip list.

Package skiplist implements an ndimensional rangetree based on a skip list. 
hilbert
Package hilbert implements a Hilbert Rtree based on PALM principles to improve multithreaded performance.

Package hilbert implements a Hilbert Rtree based on PALM principles to improve multithreaded performance. 
Package Int64 simply adds an Int64typed version of the standard library's sort/IntSlice implementation.

Package Int64 simply adds an Int64typed version of the standard library's sort/IntSlice implementation. 
skip
Package skip defines a skiplist datastructure.

Package skip defines a skiplist datastructure. 
threadsafe


err
Package err implements a threadsafe error interface.

Package err implements a threadsafe error interface. 
tree


avl
Package avl includes an immutable AVL tree.

Package avl includes an immutable AVL tree. 
trie


ctrie
Package ctrie provides an implementation of the Ctrie data structure, which is a concurrent, lockfree hash trie.

Package ctrie provides an implementation of the Ctrie data structure, which is a concurrent, lockfree hash trie. 
dtrie
Package dtrie provides an implementation of the dtrie data structure, which is a persistent hash trie that dynamically expands or shrinks to provide efficient memory allocation.

Package dtrie provides an implementation of the dtrie data structure, which is a persistent hash trie that dynamically expands or shrinks to provide efficient memory allocation. 
xfast
Package xfast provides access to a sorted tree that treats integers as if they were words of m bits, where m can be 8, 16, 32, or 64.

Package xfast provides access to a sorted tree that treats integers as if they were words of m bits, where m can be 8, 16, 32, or 64. 
yfast
Package yfast implements a yfast trie.

Package yfast implements a yfast trie. 