Skip to content

Latest commit

 

History

History
43 lines (26 loc) · 2.33 KB

README.md

File metadata and controls

43 lines (26 loc) · 2.33 KB

Golang Collections CI Go Report Card codecov GoDoc Sourcegraph

Maps and slices go a long way in Go, but sometimes you need more. This is a collection of collections that may be useful.

Ported Python and Java collections with love.

Queue

A queue is a first-in first-out data structure.

Set

A set is an unordered collection of unique values typically used for testing membership.

Interface Set is similar to Java Set and Python collections, which includes HashSet and ConcurrentSet implementation. Concurrent Set is supported by native sync.Map and atomic to keep size.

Skip list

A skip list is a data structure that stores nodes in a hierarchy of linked lists. It gives performance similar to binary search trees by using a random number of forward links to skip parts of the list.

Splay Tree

A splay tree is a type of binary search tree where every access to the tree results in the tree being rearranged so that the current node gets put on top.

Stack

A stack is a last-in last-out data structure.

Trie

A trie is a type of tree where each node represents one byte of a key.

Ternary Search Tree

A ternary search tree is similar to a trie in that nodes store the letters of the key, but instead of either using a list or hash at each node a binary tree is used. Ternary search trees have the performance benefits of a trie without the usual memory costs.