@@ -57,25 +57,26 @@ a set of rules that precisely define a sequence of operations.
5757 * ` B ` [ Primality Test] ( src/algorithms/math/primality-test ) (trial division method)
5858 * ` B ` [ Euclidean Algorithm] ( src/algorithms/math/euclidean-algorithm ) - calculate the Greatest Common Divisor (GCD)
5959 * ` B ` [ Least Common Multiple] ( src/algorithms/math/least-common-multiple ) (LCM)
60- * ` A ` [ Integer Partition] ( src/algorithms/math/integer-partition )
6160 * ` B ` [ Sieve of Eratosthenes] ( src/algorithms/math/sieve-of-eratosthenes ) - finding all prime numbers up to any given limit
6261 * ` B ` [ Is Power of Two] ( src/algorithms/math/is-power-of-two ) - check if the number is power of two (naive and bitwise algorithms)
62+ * ` B ` [ Pascal's Triangle] ( src/algorithms/math/pascal-triangle )
63+ * ` A ` [ Integer Partition] ( src/algorithms/math/integer-partition )
6364 * ` A ` [ Liu Hui π Algorithm] ( src/algorithms/math/liu-hui ) - approximate π calculations based on N-gons
6465* ** Sets**
6566 * ` B ` [ Cartesian Product] ( src/algorithms/sets/cartesian-product ) - product of multiple sets
67+ * ` B ` [ Fisher–Yates Shuffle] ( src/algorithms/sets/fisher-yates ) - random permutation of a finite sequence
6668 * ` A ` [ Power Set] ( src/algorithms/sets/power-set ) - all subsets of a set
6769 * ` A ` [ Permutations] ( src/algorithms/sets/permutations ) (with and without repetitions)
6870 * ` A ` [ Combinations] ( src/algorithms/sets/combinations ) (with and without repetitions)
69- * ` B ` [ Fisher–Yates Shuffle] ( src/algorithms/sets/fisher-yates ) - random permutation of a finite sequence
7071 * ` A ` [ Longest Common Subsequence] ( src/algorithms/sets/longest-common-subsequence ) (LCS)
7172 * ` A ` [ Longest Increasing Subsequence] ( src/algorithms/sets/longest-increasing-subsequence )
7273 * ` A ` [ Shortest Common Supersequence] ( src/algorithms/sets/shortest-common-supersequence ) (SCS)
7374 * ` A ` [ Knapsack Problem] ( src/algorithms/sets/knapsack-problem ) - "0/1" and "Unbound" ones
7475 * ` A ` [ Maximum Subarray] ( src/algorithms/sets/maximum-subarray ) - "Brute Force" and "Dynamic Programming" (Kadane's) versions
7576 * ` A ` [ Combination Sum] ( src/algorithms/sets/combination-sum ) - find all combinations that form specific sum
7677* ** Strings**
77- * ` A ` [ Levenshtein Distance] ( src/algorithms/string/levenshtein-distance ) - minimum edit distance between two sequences
7878 * ` B ` [ Hamming Distance] ( src/algorithms/string/hamming-distance ) - number of positions at which the symbols are different
79+ * ` A ` [ Levenshtein Distance] ( src/algorithms/string/levenshtein-distance ) - minimum edit distance between two sequences
7980 * ` A ` [ Knuth–Morris–Pratt Algorithm] ( src/algorithms/string/knuth-morris-pratt ) (KMP Algorithm) - substring search (pattern matching)
8081 * ` A ` [ Z Algorithm] ( src/algorithms/string/z-algorithm ) - substring search (pattern matching)
8182 * ` A ` [ Rabin Karp Algorithm] ( src/algorithms/string/rabin-karp ) - substring search
@@ -100,11 +101,11 @@ a set of rules that precisely define a sequence of operations.
100101* ** Graphs**
101102 * ` B ` [ Depth-First Search] ( src/algorithms/graph/depth-first-search ) (DFS)
102103 * ` B ` [ Breadth-First Search] ( src/algorithms/graph/breadth-first-search ) (BFS)
104+ * ` B ` [ Kruskal’s Algorithm] ( src/algorithms/graph/kruskal ) - finding Minimum Spanning Tree (MST) for weighted undirected graph
103105 * ` A ` [ Dijkstra Algorithm] ( src/algorithms/graph/dijkstra ) - finding shortest path to all graph vertices
104106 * ` A ` [ Bellman-Ford Algorithm] ( src/algorithms/graph/bellman-ford ) - finding shortest path to all graph vertices
105107 * ` A ` [ Detect Cycle] ( src/algorithms/graph/detect-cycle ) - for both directed and undirected graphs (DFS and Disjoint Set based versions)
106108 * ` A ` [ Prim’s Algorithm] ( src/algorithms/graph/prim ) - finding Minimum Spanning Tree (MST) for weighted undirected graph
107- * ` B ` [ Kruskal’s Algorithm] ( src/algorithms/graph/kruskal ) - finding Minimum Spanning Tree (MST) for weighted undirected graph
108109 * ` A ` [ Topological Sorting] ( src/algorithms/graph/topological-sorting ) - DFS method
109110 * ` A ` [ Articulation Points] ( src/algorithms/graph/articulation-points ) - Tarjan's algorithm (DFS based)
110111 * ` A ` [ Bridges] ( src/algorithms/graph/bridges ) - DFS based algorithm
@@ -114,9 +115,9 @@ a set of rules that precisely define a sequence of operations.
114115 * ` A ` [ Travelling Salesman Problem] ( src/algorithms/graph/travelling-salesman ) - shortest possible route that visits each city and returns to the origin city
115116* ** Uncategorized**
116117 * ` B ` [ Tower of Hanoi] ( src/algorithms/uncategorized/hanoi-tower )
118+ * ` B ` [ Square Matrix Rotation] ( src/algorithms/uncategorized/square-matrix-rotation ) - in-place algorithm
117119 * ` A ` [ N-Queens Problem] ( src/algorithms/uncategorized/n-queens )
118120 * ` A ` [ Knight's Tour] ( src/algorithms/uncategorized/knight-tour )
119- * ` B ` [ Square Matrix Rotation] ( src/algorithms/uncategorized/square-matrix-rotation ) - in-place algorithm
120121
121122### Algorithms by Paradigm
122123
@@ -135,13 +136,14 @@ algorithm is an abstraction higher than a computer program.
135136* ** Divide and Conquer** - divide the problem into smaller parts and then solve those parts
136137 * ` B ` [ Binary Search] ( src/algorithms/search/binary-search )
137138 * ` B ` [ Tower of Hanoi] ( src/algorithms/uncategorized/hanoi-tower )
139+ * ` B ` [ Pascal's Triangle] ( src/algorithms/math/pascal-triangle )
138140 * ` B ` [ Euclidean Algorithm] ( src/algorithms/math/euclidean-algorithm ) - calculate the Greatest Common Divisor (GCD)
139- * ` A ` [ Permutations] ( src/algorithms/sets/permutations ) (with and without repetitions)
140- * ` A ` [ Combinations] ( src/algorithms/sets/combinations ) (with and without repetitions)
141141 * ` B ` [ Merge Sort] ( src/algorithms/sorting/merge-sort )
142142 * ` B ` [ Quicksort] ( src/algorithms/sorting/quick-sort )
143143 * ` B ` [ Tree Depth-First Search] ( src/algorithms/tree/depth-first-search ) (DFS)
144144 * ` B ` [ Graph Depth-First Search] ( src/algorithms/graph/depth-first-search ) (DFS)
145+ * ` A ` [ Permutations] ( src/algorithms/sets/permutations ) (with and without repetitions)
146+ * ` A ` [ Combinations] ( src/algorithms/sets/combinations ) (with and without repetitions)
145147* ** Dynamic Programming** - build up a solution using previously found sub-solutions
146148 * ` B ` [ Fibonacci Number] ( src/algorithms/math/fibonacci )
147149 * ` A ` [ Levenshtein Distance] ( src/algorithms/string/levenshtein-distance ) - minimum edit distance between two sequences
0 commit comments