Skip to content

Latest commit

 

History

History
153 lines (139 loc) · 3.11 KB

README.md

File metadata and controls

153 lines (139 loc) · 3.11 KB

Data Structures & Algorithms

This is the data structures and algorithms repository.

Algorithms

This is the algorithms category.

Graphs

  • Flows
    • max_flow.cpp
    • min_cost_max_flow.cpp
    • readme.md
  • Matchings
    • hopcroft_karp.cpp
    • kuhn.cpp
    • hungarian.cpp
    • readme.md
  • readme.md

Strings

  • Aho–Corasick algorithm
    • aho-corasik.cpp
    • readme.md
  • Hashing
    • hashing.cpp
    • readme.md
  • Knuth-Morris-Pratt
    • kmp.cpp
    • readme.md
  • Z-function
    • z-function.cpp
    • readme.md
  • Manacher's algorithm
    • manacher.cpp
    • readme.md
  • readme.md

Trees

  • Lowest Common Ancestor (LCA)
    • binary_lifting.cpp
    • euler_tour_rmq.cpp
    • euler_tour_segment_tree.cpp
    • tarjan_offline.cpp
    • farach-colton_bender.cpp
    • readme.md
  • Rerooting technique
    • rerooting.cpp
    • readme.md
  • Heavy Light Decomposition (HLD)
    • hld.cpp
    • readme.md
  • Centroid Decomposition
    • centroid.cpp
    • readme.md
  • readme.md

Data Structures

This is the data structures category.

Trees

  • Fenwick Tree / Binary Indexed Tree (BIT)
    • prefix_sum.cpp
    • prefix_min.cpp
    • range_add.cpp
    • range_add_range_sum.cpp
    • 2d_prefix_sum.cpp
    • readme.md
  • Segment Tree
    • range_add_range_sum.cpp
    • point_add_range_sum.cpp
    • point_update_range_max.cpp
    • range_add_range_max.cpp
    • max_sum_subarray.cpp
    • 2d_segment_tree.cpp*
    • presistent_segment_tree.cpp*
    • dynamic_segment_tree.cpp*
    • readme.md
  • readme.md

Graphs

  • Union Find / Disjoint Set Union (DSU)
    • dsu.cpp
    • readme.md
  • readme.md

Strings

  • Trie / Prefix Tree
    • trie.cpp
    • map_trie.cpp
    • readme.md
  • readme.md

Geometry

This is the geometry category.

  • Primitives
    • point.cpp
    • line.cpp
    • segment.cpp
    • readme.md
  • Convex Hull
    • graham_scan.cpp
    • monotone_chain.cpp
    • quick_hull.cpp
    • readme.md
  • Li Chao Tree
    • li_chao_tree.cpp
    • readme.md
  • readme.md

Math

This is the math category.

  • Number Theory
    • congruence.cpp
    • diophantine.cpp
    • readme.md
  • Polynomes
    • polynome.cpp
    • fft.cpp
    • ntt.cpp
    • karatsuba.cpp
    • readme.md
  • Modular Arithmetic
    • modint.cpp
    • readme.md
  • Long Arithmetic
    • bignumber_v1.cpp
    • bignumber_v2.cpp
    • readme.md
  • readme.md

Miscellaneous

This is the miscellaneous category.

  • Sieves
    • root_number.cpp
    • divisor_count.cpp
    • divisor_sum.cpp
    • mobius_cpp
    • erathostenes.cpp
    • euler_totient.cpp
    • msb.cpp
    • popcount.cpp
    • readme.md
  • Goofy Data Structures
    • Dynamic Array (my shot at implementing std::vector<>)
      • dynamic_array.cpp
      • readme.md
    • StackRMQ (a RMQ that can be supports stack operations)
      • stackrmq.cpp
      • readme.md
    • readme.md
  • readme.md