Documentation ¶
Overview ¶
Package datastructures exists solely to aid consumers of the go-datastructures 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/go-datastructures
Directories ¶
Path | Synopsis |
---|---|
Package augmentedtree is designed to be useful when checking for intersection of ranges in n-dimensions.
|
Package augmentedtree is designed to be useful when checking for intersection of ranges in n-dimensions. |
Package bitarray implements a bit array.
|
Package bitarray implements a bit array. |
btree
|
|
palm
Package palm implements parallel architecture-friendly latch-free modifications (PALM).
|
Package palm implements parallel architecture-friendly latch-free modifications (PALM). |
plus
Package btree/plus implements the ubiquitous B+ tree.
|
Package btree/plus implements the ubiquitous B+ tree. |
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. |
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 n-dimensional data in an easy-to-query way.
|
Package rangetree is designed to store n-dimensional data in an easy-to-query way. |
skiplist
Package skiplist implements an n-dimensional rangetree based on a skip list.
|
Package skiplist implements an n-dimensional rangetree based on a skip list. |
hilbert
Package hilbert implements a Hilbert R-tree based on PALM principles to improve multithreaded performance.
|
Package hilbert implements a Hilbert R-tree based on PALM principles to improve multithreaded performance. |
Package Int64 simply adds an Int64-typed version of the standard library's sort/IntSlice implementation.
|
Package Int64 simply adds an Int64-typed 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, lock-free hash trie.
|
Package ctrie provides an implementation of the Ctrie data structure, which is a concurrent, lock-free hash trie. |
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 y-fast trie.
|
Package yfast implements a y-fast trie. |
Click to show internal directories.
Click to hide internal directories.