Skip to content

Latest commit

 

History

History
242 lines (234 loc) · 5.58 KB

File metadata and controls

242 lines (234 loc) · 5.58 KB

Example of TODO.md

Here is Data Structures base on https://en.wikipedia.org/wiki/List_of_data_structures

Data Structures

Abstract data types

  • ArrayList
  • List
  • Tuple
  • Associative array, Map
  • Multimap
  • Set
  • Multiset (bag)
  • Stack
  • Queue (example Priority queue)
  • Double-ended queue
  • Graph (example Tree, Heap)
  • Hash Table
    • Linear Probing Technique
    • Separate Chaining Technique
  • Dictionary

Linear

  • Array
    • Array
    • Bit array
    • Bit field
    • Bitboard
    • Bitmap
    • Circular buffer
    • Control table
    • Image
    • Dope vector
    • Dynamic array
    • Gap buffer
    • Hashed array tree
    • Lookup table
    • Matrix
    • Parallel array
    • Sorted array
    • Sparse matrix
    • Iliffe vector
    • Variable-length array
  • List
    • Singly Linked List
    • Doubly Linked List
    • Circular Linked List
    • Doubly Circular Linked List
    • header Linked List
    • Doubly linked list
    • Array list
    • Linked list
    • Association list
    • Self-organizing list
    • Skip list
    • Unrolled linked list
    • VList
    • Conc-tree list
    • Xor linked list
    • Zipper
    • Doubly connected edge list also known as half-edge
    • Difference list
    • Free list
  • Stack
  • Queue
    • Linked List Queue
    • Circular Queue

Hash-based structures

-[ ] Bloom filter -[ ] Count–min sketch -[ ] Distributed hash table -[ ] Double hashing -[ ] Dynamic perfect hash table -[ ] Hash array mapped trie -[ ] Hash list -[x] Hash table -[ ] Hash tree -[ ] Hash trie -[ ] Koorde -[ ] Prefix hash tree -[ ] Rolling hash -[ ] MinHash -[ ] Quotient filter -[ ] Ctrie

Non-Linear

  • Tree
    • Binary trees
      • AA tree
      • AVL tree
      • Binary search tree
      • Binary tree
      • Cartesian tree
      • Conc-tree list
      • 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
      • Dancing tree
      • 2–3 tree
      • 2–3–4 tree
      • Queap
      • Fusion tree
      • Bx-tree
    • Heaps
      • Heap
      • Binary heap
      • B-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
    • Bit-slice trees
      • Radix tree
      • Suffix tree
      • Suffix array
      • Compressed suffix array
      • FM-index
      • Generalised suffix tree
      • B-tree
      • Judy array
      • Trie
      • X-fast trie
      • Y-fast trie
      • Merkle tree
    • Multi-way trees
      • Ternary tree
      • K-ary tree
      • And–or tree
      • (a,b)-tree
      • Link/cut tree
      • SPQR-tree
      • Spaghetti stack
      • Disjoint-set data structure (Union-find data structure)
      • Fusion tree
      • Enfilade
      • Exponential tree
      • Fenwick tree
      • Van Emde Boas tree
      • Rose tree
    • Space-partitioning trees
      • 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
  • Graph
    • Graph
    • Adjacency list
    • Adjacency matrix
    • Graph-structured stack
    • Scene graph
    • Decision tree
    • Binary decision diagram
    • Zero-suppressed decision diagram
    • And-inverter graph
    • Directed graph
    • Directed acyclic graph
    • Propositional directed acyclic graph
    • Multigraph
    • Hypergraph

Algorithms

  • Sorting
    • Bubble Sort
    • Insertion Sort
    • Selection Sort
    • Sell Sort
    • Merge Sort
    • Heap Sort
    • Quick Sort
    • Tree Sort
    • Bucket Sort
    • Counting Sort
    • Radix Sort
    • Topological Sort
    • External Sort
  • Searching
  • Recursion