algorithm-study
algorithm-study copied to clipboard
Algorithm Notes and Templates (written in python,golang and typescript)
Algorithms Notes and Templates
English | δΈζ
π Templates
-
String
- Subsequence Matching
- Rabin-Karp Algorithm
- String Minimum Representation
- KMP Algorithm
- Z-Algorithm
- Manacher Algorithm
- Suffix Array
- Aho-Corasick Automaton
-
Stack
- MonoStack
-
Queue
- Queue
- PriorityQueue
- Deque
- ArrayDeque
- LinkedList
- MonoQueue
-
LinkedList
- LinkedListNode
- LinkedList
- PersistentStack
-
Tree
- DFS Order
- Trie
- 01 Trie
- Fenwick Tree
- LCA
- Rerooting Dp
- Segment Tree
- Persistent Segment Tree
- Heavy-Light Decomposition
- Treap
- Rope
- TreeSet
- SortedList (py) SortedList (ts)
- SplayArray
- PersistentArray
-
Graph
- TopoSort
- Dijkstra
- BellmanFord
- SPFA
- Floyd
- Bipartition Check
- Hungarian Algorithm
- Kuhn-Munkres Algorithm
- EulerLoop
- EulerPath
- MaxFlow (Dinic)
- MinCostMaxFlow
- Tarjan
-
Disjoint Set
- Disjoint Set
- Disjoint Set with Dist to Root
-
Bit Manipulation
- Bloom Filter
- BitSet
- Powerset
-
Math
- Convex Hull
- Polygon Area
- Straight Line Equation
- Stirling Number
- Cantor Expansion
- Primes
- Combs
- Linear Basis
- Convolution
- Quick Pow
- Matrix Quick Pow
- BSGS/EXBSGS
-
Miscellaneous
- 2D PreSum Matrix
- 2D Diff Matrix
- Sparse Table
- Bisect
- Trisect
- Palindrome Generator
- NextPermutation
- MoAlgo (Without Modification)
- Consistent Hashing
- Geohash
- SlopeTrick
- Itertools
- product
- permutations
- combinations
- combinations_with_replacement