TurboYourCode
Algorithms
Data Structures
Array
A static indexable collection of elements
Associative array
Aka map or dictionary, it provides a collection that stores key, value pairs.
Deque
Allows for insertion and removal from front or back of the collection.
Disjoint-set
Contains non-overlapping sets of elements
Dynamic array
A contiguous list that allows elements to be added or removed.
Graph
Contains a set of nodes and a set of edges that the nodes point to
Graph (Adjacency list)
A graph implementation; this is useful for sparser graphs.
Graph (Adjacency matrix)
A graph implementation; this is useful for quick adjacency checks.
Heap
A tree structure where all parent nodes are greater/less than children nodes for a max/min heap
Linked list
A list of elements where each element points to the next one
Merkle tree
A tree used to data verification
Queue
Provides first-in-first-out (FIFO) access
Set
Stores unique values
Set (BST-based)
A set implementation that uses a binary search tree
Set (Hash-based)
A set implementation that uses a hash table
Skip list
A probabilistic collection which combines features of sorted array and a linked list.
Stack
Provides last-in first-out access (LIFO)
Treap
A probabilistic data structure that combines a heap and a binary search tree
Tree
Hierarchical tree structure of nodes
Trie
A k-ary search tree used for information retrieval such as autocomplete.
Zip Tree
A probabilistic binary search tree