/data-structures

Using repo for organization of data structure knowledge and use cases

data-structures

Using repo for organization of data structure knowledge and use cases

This list is from wikipedia: https://en.wikipedia.org/wiki/List_of_data_structures

Data Types

Primitive types

  • Boolean, true or false.
  • Character
  • Floating-point, single-precision real number values.
  • Double, a wider floating-point size.
  • Integer, integral or fixed-precision values.
  • String, a sequence of characters.
  • Reference (also called a pointer or handle), a small value referring to another object's address in memory, possibly a much larger one.
  • Enumerated type, a small set of uniquely named values.

Composite types or Non-primitive type

  • Array
  • Record (also called tuple or structure)
  • Union
  • Tagged union (also called variant, variant record, discriminated union, or disjoint union)

Abstract data types

  • Container
  • List
  • Associative array
  • Multimap
  • Set
  • Multiset (Bag)
  • Stack
  • Queue
  • Double-ended queue
  • Priority queue
  • Tree
  • Graph

Linear data structures

Arrays

  • Array
  • Bit array
  • Bit field
  • Bitboard
  • Bitmap
  • Circular buffer
  • Control table
  • Image
  • Dope vector
  • Dynamic array
  • Gap buffer
  • Hashed array tree
  • Heightmap
  • Lookup table
  • Matrix
  • Parallel array
  • Sorted array
  • Sparse matrix
  • Iliffe vector
  • Variable-length array

Types of Lists

  • Doubly linked list
  • Array list
  • Linked list
  • Self-organizing list
  • Skip list
  • Unrolled linked list
  • VList
  • Conc-Tree list
  • Xor linked list
  • Zipper
  • Doubly connected edge list also know has half-edge
  • Difference list
  • Free list

Trees

  • Binary trees
  • AA tree
  • AVL tree
  • Binary search tree
  • Binary tree
  • Cartesian tree
  • Left-child right-sibling binary tree
  • Order statistic tree
  • Pagoda
  • Randomized binary search tree
  • Red–black tree
  • Rope
  • Scapegoat tree
  • Self-balancing binary search tree
  • Splay tree
  • T-tree
  • Tango tree
  • Threaded binary tree
  • Top tree
  • Treap
  • WAVL tree
  • Weight-balanced tree

B-trees

  • B-tree

  • B+ tree

  • B*-tree

  • B sharp tree

  • Dancing tree

  • 2-3 tree

  • 2-3-4 tree

  • Queap

  • Fusion tree

  • Bx-tree

  • AList

  • Heaps

  • Heap

  • Binary heap

  • Weak heap

  • Binomial heap

  • Fibonacci heap

  • AF-heap

  • Leonardo Heap

  • 2-3 heap

  • Soft heap

  • Pairing heap

  • Leftist heap

  • Treap

  • Beap

  • Skew heap

  • Ternary heap

  • D-ary heap

  • Brodal queue

Tree

  • Trie
  • Radix tree
  • Suffix tree
  • Suffix array
  • Compressed suffix array
  • FM-index
  • Generalised suffix tree
  • B-trie
  • Judy array
  • X-fast trie
  • Y-fast trie
  • Merkle Tree
  • Ctrie

Multiway trees

  • Ternary tree
  • K-ary tree
  • And–or tree
  • (a,b)-tree
  • Link/cut tree
  • SPQR-tree
  • Spaghetti stack
  • Disjoint-set data structure
  • Fusion tree
  • Enfilade
  • Exponential tree
  • Fenwick tree
  • Van Emde Boas tree
  • Rose tree

Space-partitioning trees These are data structures used for space partitioning or binary space partitioning.

  • Segment tree
  • Interval tree
  • Range tree
  • Bin
  • K-d tree
  • Implicit k-d tree
  • Min/max k-d tree
  • Relaxed k-d tree
  • Adaptive k-d tree
  • Quadtree
  • Octree
  • Linear octree
  • Z-order
  • UB-tree
  • R-tree
  • R+ tree
  • R* tree
  • Hilbert R-tree
  • X-tree
  • Metric tree
  • Cover tree
  • M-tree
  • VP-tree
  • BK-tree
  • Bounding interval hierarchy
  • Bounding volume hierarchy
  • BSP tree
  • Rapidly exploring random tree

Application-specific trees

  • Abstract syntax tree
  • Parse tree
  • Decision tree
  • Alternating decision tree
  • Minimax tree
  • Expectiminimax tree
  • Finger tree
  • Expression tree
  • Log-structured merge-tree
  • Lexicographic Search Tree

Hashes

  • Bloom filter
  • Count-Min sketch
  • Distributed hash table
  • Double Hashing
  • Dynamic perfect hash table
  • Hash array mapped trie
  • Hash list
  • Hash table
  • Hash tree
  • Hash trie
  • Koorde
  • Prefix hash tree
  • Rolling hash
  • MinHash
  • Quotient filter
  • Ctrie

Graphs

  • Graph
  • Adjacency list
  • Adjacency matrix
  • Graph-structured stack
  • Scene graph
  • Binary decision diagram
  • Zero-suppressed decision diagram
  • And-inverter graph
  • Directed graph
  • Directed acyclic graph
  • Propositional directed acyclic graph
  • Multigraph
  • Hypergraph

Other

  • Lightmap
  • Winged edge
  • Quad-edge
  • Routing table
  • Symbol table