diff --git a/d2/d96/factorial__memoization_8cpp.html b/d2/d96/factorial__memoization_8cpp.html
new file mode 100644
index 000000000..cc3f3fa9a
--- /dev/null
+++ b/d2/d96/factorial__memoization_8cpp.html
@@ -0,0 +1,260 @@
+
+
+
+
+
-bool dynamic_programming::abbreviation::abbreviation_recursion (std::vector< std::vector< bool > > *memo, std::vector< std::vector< bool > > *visited, const std::string &str, const std::string &result, uint32_t str_idx=0, uint32_t result_idx=0)
+bool dynamic_programming::abbreviation::abbreviation_recursion (std::vector< std::vector< bool > > *memo , std::vector< std::vector< bool > > *visited, const std::string &str, const std::string &result, uint32_t str_idx=0, uint32_t result_idx=0)
Recursive Dynamic Programming function.
bool dynamic_programming::abbreviation::abbreviation (const std::string &str, const std::string &result)
Iterative Dynamic Programming function.
@@ -200,32 +200,33 @@ Algorithm
Definition at line 119 of file abbreviation.cpp .
119 {
-
120 std::vector<std::vector<bool>> memo(
+
120 std::vector<std::vector<bool>>
memo (
121 str.size() + 1, std::vector<bool>(result.size() + 1, false ));
122
123 for (uint32_t i = 0; i <= str.size(); ++i) {
-
124 memo[i][0] = true ;
+
125 }
126 for (uint32_t i = 1; i <= result.size(); ++i) {
-
127 memo[0][i] = false ;
+
128 }
129 for (uint32_t i = 1; i <= str.size(); ++i) {
130 for (uint32_t j = 1; j <= result.size(); ++j) {
131 if (str[i - 1] == result[j - 1]) {
-
132 memo[i][j] = memo[i - 1][j - 1];
+
133 } else if (str[i - 1] - 32 == result[j - 1]) {
-
134 memo[i][j] = (memo[i - 1][j - 1] || memo[i - 1][j]);
+
135 } else {
136 if (str[i - 1] >= 'A' && str[i - 1] <= 'Z' ) {
-
137 memo[i][j] = false ;
+
138 } else {
-
139 memo[i][j] = memo[i - 1][j];
+
140 }
141 }
142 }
143 }
-
144 return memo.back().back();
+
144 return memo .back().back();
145 }
+
std::array< uint64_t, 1000 > memo
Array to store computed factorials for memoization.
@@ -291,7 +292,7 @@ j)
Definition at line 59 of file abbreviation.cpp .
62 {
-
63 bool ans = memo->at(str_idx).at(result_idx);
+
63 bool ans =
memo ->at(str_idx).at(result_idx);
64 if (str_idx == str.size() && result_idx == result.size()) {
65 return true ;
66 } else if (str_idx == str.size() && result_idx != result.size()) {
@@ -299,12 +300,12 @@ j)
68 return false ;
69 } else if (!visited->at(str_idx).at(result_idx)) {
81 if (str[str_idx] == result[result_idx]) {
-
82 ans = abbreviation_recursion(memo, visited, str, result,
+
82 ans = abbreviation_recursion(
memo , visited, str, result,
83 str_idx + 1, result_idx + 1);
84 } else if (str[str_idx] - 32 == result[result_idx]) {
-
+
86 str_idx + 1, result_idx + 1) ||
-
+
88 str_idx + 1, result_idx);
89 } else {
90
@@ -314,14 +315,14 @@ j)
94 if (str[str_idx] >= 'A' && str[str_idx] <= 'Z' ) {
95 ans = false ;
96 } else {
-
+
98 str_idx + 1, result_idx);
99 }
100 }
101 }
102 (*memo)[str_idx][result_idx] = ans;
103 (*visited)[str_idx][result_idx] = true ;
-
104 return (*memo)[str_idx][result_idx];
+
104 return (*
memo )[str_idx][result_idx];
105 }
bool abbreviation_recursion(std::vector< std::vector< bool > > *memo, std::vector< std::vector< bool > > *visited, const std::string &str, const std::string &result, uint32_t str_idx=0, uint32_t result_idx=0)
Recursive Dynamic Programming function.
@@ -383,36 +384,36 @@ j)
Definition at line 153 of file abbreviation.cpp .
153 {
154 std::string s = "daBcd" , t = "ABC" ;
-
155 std::vector<std::vector<bool>> memo(s.size() + 1,
+
155 std::vector<std::vector<bool>>
memo (s.size() + 1,
156 std::vector<bool>(t.size() + 1, false )),
157 visited(s.size() + 1, std::vector<bool>(t.size() + 1, false ));
158
-
160 &memo, &visited, s, t) == true );
+
160 &
memo , &visited, s, t) ==
true );
162 s = "XXVVnDEFYgYeMXzWINQYHAQKKOZEYgSRCzLZAmUYGUGILjMDET" ;
163 t = "XXVVDEFYYMXWINQYHAQKKOZEYSRCLZAUYGUGILMDETQVWU" ;
-
164 memo = std::vector<std::vector<bool>>(
+
164 memo = std::vector<std::vector<bool>>(
165 s.size() + 1, std::vector<bool>(t.size() + 1, false ));
166
167 visited = std::vector<std::vector<bool>>(
168 s.size() + 1, std::vector<bool>(t.size() + 1, false ));
169
-
171 &memo, &visited, s, t) == false );
+
171 &
memo , &visited, s, t) ==
false );
173
174 s = "DRFNLZZVHLPZWIupjwdmqafmgkg" ;
175 t = "DRFNLZZVHLPZWI" ;
176
-
177 memo = std::vector<std::vector<bool>>(
+
177 memo = std::vector<std::vector<bool>>(
178 s.size() + 1, std::vector<bool>(t.size() + 1, false ));
179
180 visited = std::vector<std::vector<bool>>(
181 s.size() + 1, std::vector<bool>(t.size() + 1, false ));
182
-
184 &memo, &visited, s, t) == true );
+
184 &
memo , &visited, s, t) ==
true );
186 }
bool abbreviation(const std::string &str, const std::string &result)
Iterative Dynamic Programming function.
diff --git a/d7/d73/abbreviation_8cpp_source.html b/d7/d73/abbreviation_8cpp_source.html
index 95d656087..61afb1eec 100644
--- a/d7/d73/abbreviation_8cpp_source.html
+++ b/d7/d73/abbreviation_8cpp_source.html
@@ -126,11 +126,11 @@ $(function(){initNavTree('d7/d73/abbreviation_8cpp_source.html','../../',''); })
-
+
60 std::vector<std::vector<bool>> *visited,
61 const std::string &str,
const std::string &result,
62 uint32_t str_idx = 0, uint32_t result_idx = 0) {
-
63 bool ans = memo->at(str_idx).at(result_idx);
+
63 bool ans =
memo ->at(str_idx).at(result_idx);
64 if (str_idx == str.size() && result_idx == result.size()) {
66 }
else if (str_idx == str.size() && result_idx != result.size()) {
@@ -138,12 +138,12 @@ $(function(){initNavTree('d7/d73/abbreviation_8cpp_source.html','../../',''); })
69 }
else if (!visited->at(str_idx).at(result_idx)) {
81 if (str[str_idx] == result[result_idx]) {
-
+
83 str_idx + 1, result_idx + 1);
84 }
else if (str[str_idx] - 32 == result[result_idx]) {
-
+
86 str_idx + 1, result_idx + 1) ||
-
+
88 str_idx + 1, result_idx);
@@ -153,44 +153,44 @@ $(function(){initNavTree('d7/d73/abbreviation_8cpp_source.html','../../',''); })
94 if (str[str_idx] >=
'A' && str[str_idx] <=
'Z' ) {
-
+
98 str_idx + 1, result_idx);
102 (*memo)[str_idx][result_idx] = ans;
103 (*visited)[str_idx][result_idx] =
true ;
-
104 return (*memo)[str_idx][result_idx];
+
104 return (*
memo )[str_idx][result_idx];
-
120 std::vector<std::vector<bool>> memo(
+
120 std::vector<std::vector<bool>>
memo (
121 str.size() + 1, std::vector<bool>(result.size() + 1,
false ));
123 for (uint32_t i = 0; i <= str.size(); ++i) {
-
+
126 for (uint32_t i = 1; i <= result.size(); ++i) {
-
+
129 for (uint32_t i = 1; i <= str.size(); ++i) {
130 for (uint32_t j = 1; j <= result.size(); ++j) {
131 if (str[i - 1] == result[j - 1]) {
-
132 memo[i][j] = memo[i - 1][j - 1];
+
133 }
else if (str[i - 1] - 32 == result[j - 1]) {
-
134 memo[i][j] = (memo[i - 1][j - 1] || memo[i - 1][j]);
+
136 if (str[i - 1] >=
'A' && str[i - 1] <=
'Z' ) {
-
+
-
139 memo[i][j] = memo[i - 1][j];
+
-
144 return memo.back().back();
+
144 return memo .back().back();
@@ -199,36 +199,36 @@ $(function(){initNavTree('d7/d73/abbreviation_8cpp_source.html','../../',''); })
154 std::string s =
"daBcd" , t =
"ABC" ;
-
155 std::vector<std::vector<bool>> memo(s.size() + 1,
+
155 std::vector<std::vector<bool>>
memo (s.size() + 1,
156 std::vector<bool>(t.size() + 1,
false )),
157 visited(s.size() + 1, std::vector<bool>(t.size() + 1,
false ));
-
160 &memo, &visited, s, t) ==
true );
+
160 &
memo , &visited, s, t) ==
true );
162 s =
"XXVVnDEFYgYeMXzWINQYHAQKKOZEYgSRCzLZAmUYGUGILjMDET" ;
163 t =
"XXVVDEFYYMXWINQYHAQKKOZEYSRCLZAUYGUGILMDETQVWU" ;
-
164 memo = std::vector<std::vector<bool>>(
+
164 memo = std::vector<std::vector<bool>>(
165 s.size() + 1, std::vector<bool>(t.size() + 1,
false ));
167 visited = std::vector<std::vector<bool>>(
168 s.size() + 1, std::vector<bool>(t.size() + 1,
false ));
-
171 &memo, &visited, s, t) ==
false );
+
171 &
memo , &visited, s, t) ==
false );
174 s =
"DRFNLZZVHLPZWIupjwdmqafmgkg" ;
175 t =
"DRFNLZZVHLPZWI" ;
-
177 memo = std::vector<std::vector<bool>>(
+
177 memo = std::vector<std::vector<bool>>(
178 s.size() + 1, std::vector<bool>(t.size() + 1,
false ));
180 visited = std::vector<std::vector<bool>>(
181 s.size() + 1, std::vector<bool>(t.size() + 1,
false ));
-
184 &memo, &visited, s, t) ==
true );
+
184 &
memo , &visited, s, t) ==
true );
@@ -243,6 +243,7 @@ $(function(){initNavTree('d7/d73/abbreviation_8cpp_source.html','../../',''); })
bool abbreviation_recursion(std::vector< std::vector< bool > > *memo, std::vector< std::vector< bool > > *visited, const std::string &str, const std::string &result, uint32_t str_idx=0, uint32_t result_idx=0)
Recursive Dynamic Programming function.
bool abbreviation(const std::string &str, const std::string &result)
Iterative Dynamic Programming function.
+
std::array< uint64_t, 1000 > memo
Array to store computed factorials for memoization.
Functions for Abbreviation implementation.
Dynamic Programming algorithms.
diff --git a/db/d30/factorial__memoization_8cpp__incl.map b/db/d30/factorial__memoization_8cpp__incl.map
new file mode 100644
index 000000000..cd5e16a47
--- /dev/null
+++ b/db/d30/factorial__memoization_8cpp__incl.map
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+
+
+
diff --git a/db/d30/factorial__memoization_8cpp__incl.md5 b/db/d30/factorial__memoization_8cpp__incl.md5
new file mode 100644
index 000000000..b566ca4d8
--- /dev/null
+++ b/db/d30/factorial__memoization_8cpp__incl.md5
@@ -0,0 +1 @@
+69fc891120320fb84e290bfcf9cb1ff5
\ No newline at end of file
diff --git a/db/d30/factorial__memoization_8cpp__incl.svg b/db/d30/factorial__memoization_8cpp__incl.svg
new file mode 100644
index 000000000..84202a3b6
--- /dev/null
+++ b/db/d30/factorial__memoization_8cpp__incl.svg
@@ -0,0 +1,119 @@
+
+
+
+
+
+
+
+
+
+
+
+
+math/factorial_memoization.cpp
+
+
+Node1
+
+
+math/factorial_memoization.cpp
+
+
+
+
+
+Node2
+
+
+iostream
+
+
+
+
+
+Node1->Node2
+
+
+
+
+
+
+
+
+Node3
+
+
+cassert
+
+
+
+
+
+Node1->Node3
+
+
+
+
+
+
+
+
+Node4
+
+
+array
+
+
+
+
+
+Node1->Node4
+
+
+
+
+
+
+
+
+Node5
+
+
+cstdint
+
+
+
+
+
+Node1->Node5
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/db/d30/factorial__memoization_8cpp__incl_org.svg b/db/d30/factorial__memoization_8cpp__incl_org.svg
new file mode 100644
index 000000000..0b15a8144
--- /dev/null
+++ b/db/d30/factorial__memoization_8cpp__incl_org.svg
@@ -0,0 +1,93 @@
+
+
+
+
+
+
+math/factorial_memoization.cpp
+
+
+Node1
+
+
+math/factorial_memoization.cpp
+
+
+
+
+
+Node2
+
+
+iostream
+
+
+
+
+
+Node1->Node2
+
+
+
+
+
+
+
+
+Node3
+
+
+cassert
+
+
+
+
+
+Node1->Node3
+
+
+
+
+
+
+
+
+Node4
+
+
+array
+
+
+
+
+
+Node1->Node4
+
+
+
+
+
+
+
+
+Node5
+
+
+cstdint
+
+
+
+
+
+Node1->Node5
+
+
+
+
+
+
+
+
diff --git a/dd/d47/namespacemath.html b/dd/d47/namespacemath.html
index 4251ef948..4c23c781e 100644
--- a/dd/d47/namespacemath.html
+++ b/dd/d47/namespacemath.html
@@ -174,6 +174,8 @@ Functions
Function to calculate Euler's Totient.
uint64_t factorial (uint8_t n)
function to find factorial of given number
+uint64_t fact_recursion (uint64_t n)
+ Computes the factorial of a non-negative integer using recursion and memoization.
double integral_approx (double lb, double ub, const std::function< double(double)> &func, double delta=.0001)
Computes integral approximation.
void test_eval (double approx, double expected, double threshold)
@@ -245,8 +247,8 @@ Functions
std::cout
for IO implementations
Evaluate recurrence relation using matrix exponentiation .
-Math algorithms.
for mathematical functions
+Math algorithms.
Mathematical algorithms.
for IO operations
for M_PI definition and pow()
@@ -819,6 +821,42 @@ template<typename T>
+
+◆ fact_recursion()
+
+
+
+
+
+ uint64_t math::fact_recursion
+ (
+ uint64_t n )
+
+
+
+
+
+
Computes the factorial of a non-negative integer using recursion and memoization.
+
Parameters
+
+ n The integer whose factorial is to be computed
+
+
+
+
Returns The factorial of n
+
+
Definition at line 44 of file factorial_memoization.cpp .
+
44 {
+
45 if (n == 0) return 1;
+
+
+
+
49 }
+
std::array< uint64_t, 1000 > memo
Array to store computed factorials for memoization.
+
uint64_t fact_recursion(uint64_t n)
Computes the factorial of a non-negative integer using recursion and memoization.
+
+
+
◆ factorial()
diff --git a/dd/d47/namespacemath.js b/dd/d47/namespacemath.js
index 617f04a36..d81337f4b 100644
--- a/dd/d47/namespacemath.js
+++ b/dd/d47/namespacemath.js
@@ -14,6 +14,7 @@ var namespacemath =
[ "cylinder_surface_area", "dd/d47/namespacemath.html#ac5803413618fcfb922cb32c6db0fc864", null ],
[ "cylinder_surface_perimeter", "dd/d47/namespacemath.html#a1d4df7a4e43a2eac1acc0ac610487c73", null ],
[ "cylinder_volume", "dd/d47/namespacemath.html#abde24398be43538c62e4a496968e60ca", null ],
+ [ "fact_recursion", "dd/d47/namespacemath.html#a73b07abea036f1ce2e3ac5dc169bdb4b", null ],
[ "factorial", "dd/d47/namespacemath.html#a7e78996673df791014cfe540b183456a", null ],
[ "hemi_sphere_surface_area", "dd/d47/namespacemath.html#a3277e65a8f380e7632791975bfba0efb", null ],
[ "integral_approx", "dd/d47/namespacemath.html#aec65db4e5c7317323227f026fe50ef11", null ],
diff --git a/dir_296d53ceaeaa7e099814a6def439fe8a.html b/dir_296d53ceaeaa7e099814a6def439fe8a.html
index 2bdea840d..4a4ddd908 100644
--- a/dir_296d53ceaeaa7e099814a6def439fe8a.html
+++ b/dir_296d53ceaeaa7e099814a6def439fe8a.html
@@ -148,6 +148,8 @@ Files
GCD using [extended Euclid's algorithm] (https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm )
factorial.cpp
Find the factorial of a given number.
+
factorial_memoization.cpp
+ Factorial calculation using recursion and memoization
fast_power.cpp
Faster computation for \(a^b\).
fibonacci.cpp
diff --git a/dir_296d53ceaeaa7e099814a6def439fe8a.js b/dir_296d53ceaeaa7e099814a6def439fe8a.js
index ca21c717a..247619374 100644
--- a/dir_296d53ceaeaa7e099814a6def439fe8a.js
+++ b/dir_296d53ceaeaa7e099814a6def439fe8a.js
@@ -15,6 +15,7 @@ var dir_296d53ceaeaa7e099814a6def439fe8a =
[ "eulers_totient_function.cpp", "da/d23/eulers__totient__function_8cpp.html", "da/d23/eulers__totient__function_8cpp" ],
[ "extended_euclid_algorithm.cpp", "d9/d5d/extended__euclid__algorithm_8cpp.html", "d9/d5d/extended__euclid__algorithm_8cpp" ],
[ "factorial.cpp", "d9/d00/factorial_8cpp.html", "d9/d00/factorial_8cpp" ],
+ [ "factorial_memoization.cpp", "d2/d96/factorial__memoization_8cpp.html", "d2/d96/factorial__memoization_8cpp" ],
[ "fast_power.cpp", "d2/d0b/fast__power_8cpp.html", "d2/d0b/fast__power_8cpp" ],
[ "fibonacci.cpp", "d9/d89/fibonacci_8cpp.html", "d9/d89/fibonacci_8cpp" ],
[ "fibonacci_fast.cpp", "d4/d32/fibonacci__fast_8cpp.html", "d4/d32/fibonacci__fast_8cpp" ],
diff --git a/doxygen_crawl.html b/doxygen_crawl.html
index 6448e2521..5c261a5e3 100644
--- a/doxygen_crawl.html
+++ b/doxygen_crawl.html
@@ -485,6 +485,11 @@
+
+
+
+
+
@@ -2837,6 +2842,7 @@
+
diff --git a/files.html b/files.html
index b2ba53aa6..4d6235ac6 100644
--- a/files.html
+++ b/files.html
@@ -315,54 +315,55 @@ solve-a-rat-in-a-maze-c-java-pytho/" target="_blank">Rat in a Maze algorithm
eulers_totient_function.cpp Implementation of Euler's Totient @description Euler Totient Function is also known as phi function
extended_euclid_algorithm.cpp GCD using [extended Euclid's algorithm] (https://en.wikipedia.org/wiki/Extended_Euclidean_algorithm )
factorial.cpp Find the factorial of a given number
-
fast_power.cpp Faster computation for \(a^b\)
-
fibonacci.cpp N-th Fibonacci number
-
fibonacci_fast.cpp Faster computation of Fibonacci series
-
fibonacci_large.cpp Computes N^th Fibonacci number given as input argument. Uses custom build arbitrary integers library to perform additions and other operations
-
fibonacci_matrix_exponentiation.cpp This program computes the N^th Fibonacci number in modulo mod input argument
-
fibonacci_sum.cpp An algorithm to calculate the sum of Fibonacci Sequence : \(\mathrm{F}(n) +
+
factorial_memoization.cpp Factorial calculation using recursion and memoization
+
fast_power.cpp Faster computation for \(a^b\)
+
fibonacci.cpp N-th Fibonacci number
+
fibonacci_fast.cpp Faster computation of Fibonacci series
+
fibonacci_large.cpp Computes N^th Fibonacci number given as input argument. Uses custom build arbitrary integers library to perform additions and other operations
+
fibonacci_matrix_exponentiation.cpp This program computes the N^th Fibonacci number in modulo mod input argument
+
fibonacci_sum.cpp An algorithm to calculate the sum of Fibonacci Sequence : \(\mathrm{F}(n) +
\mathrm{F}(n+1) + .. + \mathrm{F}(m)\)
-
finding_number_of_digits_in_a_number.cpp [Program to count digits in an integer](https://www.geeksforgeeks.org/program-count-digits-integer-3-different-methods )
-
gcd_iterative_euclidean.cpp Compute the greatest common denominator of two integers using iterative form of Euclidean algorithm
-
gcd_of_n_numbers.cpp This program aims at calculating the GCD of n numbers
-
gcd_recursive_euclidean.cpp Compute the greatest common denominator of two integers using recursive form of Euclidean algorithm
-
integral_approximation.cpp Compute integral approximation of the function using Riemann sum
-
integral_approximation2.cpp Monte Carlo Integration
-
inv_sqrt.cpp Implementation of the inverse square root Root
-
iterative_factorial.cpp Iterative implementation of Factorial
-
large_factorial.cpp Compute factorial of any arbitratily large number/
-
large_number.h Library to perform arithmatic operations on arbitrarily large numbers
-
largest_power.cpp Algorithm to find largest x such that p^x divides n! (factorial) using Legendre's Formula
-
lcm_sum.cpp An algorithm to calculate the sum of LCM: \(\mathrm{LCM}(1,n) +
+
finding_number_of_digits_in_a_number.cpp [Program to count digits in an integer](https://www.geeksforgeeks.org/program-count-digits-integer-3-different-methods )
+
gcd_iterative_euclidean.cpp Compute the greatest common denominator of two integers using iterative form of Euclidean algorithm
+
gcd_of_n_numbers.cpp This program aims at calculating the GCD of n numbers
+
gcd_recursive_euclidean.cpp Compute the greatest common denominator of two integers using recursive form of Euclidean algorithm
+
integral_approximation.cpp Compute integral approximation of the function using Riemann sum
+
integral_approximation2.cpp Monte Carlo Integration
+
inv_sqrt.cpp Implementation of the inverse square root Root
+
iterative_factorial.cpp Iterative implementation of Factorial
+
large_factorial.cpp Compute factorial of any arbitratily large number/
+
large_number.h Library to perform arithmatic operations on arbitrarily large numbers
+
largest_power.cpp Algorithm to find largest x such that p^x divides n! (factorial) using Legendre's Formula
+
lcm_sum.cpp An algorithm to calculate the sum of LCM: \(\mathrm{LCM}(1,n) +
\mathrm{LCM}(2,n) + \ldots + \mathrm{LCM}(n,n)\)
-
least_common_multiple.cpp
-
linear_recurrence_matrix.cpp
-
magic_number.cpp A simple program to check if the given number is a magic number or not. A number is said to be a magic number, if the sum of its digits are calculated till a single digit recursively by adding the sum of the digits after every addition. If the single digit comes out to be 1,then the number is a magic number
-
miller_rabin.cpp
-
modular_division.cpp An algorithm to divide two numbers under modulo p Modular Division
-
modular_exponentiation.cpp C++ Program for Modular Exponentiation Iteratively
-
modular_inverse_fermat_little_theorem.cpp C++ Program to find the modular inverse using Fermat's Little Theorem
-
modular_inverse_simple.cpp Simple implementation of modular multiplicative inverse
-
n_bonacci.cpp Implementation of the N-bonacci series
-
n_choose_r.cpp Combinations n choose r function implementation
-
ncr_modulo_p.cpp This program aims at calculating nCr modulo p
-
number_of_positive_divisors.cpp C++ Program to calculate the number of positive divisors
-
perimeter.cpp Implementations for the perimeter of various shapes
-
power_for_huge_numbers.cpp Compute powers of large numbers
-
power_of_two.cpp Implementation to check whether a number is a power of 2 or not
-
prime_factorization.cpp Prime factorization of positive integers
-
prime_numbers.cpp Get list of prime numbers
-
primes_up_to_billion.cpp Compute prime numbers upto 1 billion
-
quadratic_equations_complex_numbers.cpp Calculate quadratic equation with complex roots, i.e. b^2 - 4ac < 0
-
realtime_stats.cpp Compute statistics for data entered in rreal-time
-
sieve_of_eratosthenes.cpp Prime Numbers using Sieve of Eratosthenes
-
sqrt_double.cpp Calculate the square root of any positive real number in \(O(\log
+
least_common_multiple.cpp
+
linear_recurrence_matrix.cpp
+
magic_number.cpp A simple program to check if the given number is a magic number or not. A number is said to be a magic number, if the sum of its digits are calculated till a single digit recursively by adding the sum of the digits after every addition. If the single digit comes out to be 1,then the number is a magic number
+
miller_rabin.cpp
+
modular_division.cpp An algorithm to divide two numbers under modulo p Modular Division
+
modular_exponentiation.cpp C++ Program for Modular Exponentiation Iteratively
+
modular_inverse_fermat_little_theorem.cpp C++ Program to find the modular inverse using Fermat's Little Theorem
+
modular_inverse_simple.cpp Simple implementation of modular multiplicative inverse
+
n_bonacci.cpp Implementation of the N-bonacci series
+
n_choose_r.cpp Combinations n choose r function implementation
+
ncr_modulo_p.cpp This program aims at calculating nCr modulo p
+
number_of_positive_divisors.cpp C++ Program to calculate the number of positive divisors
+
perimeter.cpp Implementations for the perimeter of various shapes
+
power_for_huge_numbers.cpp Compute powers of large numbers
+
power_of_two.cpp Implementation to check whether a number is a power of 2 or not
+
prime_factorization.cpp Prime factorization of positive integers
+
prime_numbers.cpp Get list of prime numbers
+
primes_up_to_billion.cpp Compute prime numbers upto 1 billion
+
quadratic_equations_complex_numbers.cpp Calculate quadratic equation with complex roots, i.e. b^2 - 4ac < 0
+
realtime_stats.cpp Compute statistics for data entered in rreal-time
+
sieve_of_eratosthenes.cpp Prime Numbers using Sieve of Eratosthenes
+
sqrt_double.cpp Calculate the square root of any positive real number in \(O(\log
N)\) time, with precision fixed using bisection method of root-finding
-
string_fibonacci.cpp This Programme returns the Nth fibonacci as a string
-
sum_of_binomial_coefficient.cpp Algorithm to find sum of binomial coefficients of a given positive integer
-
sum_of_digits.cpp A C++ Program to find the Sum of Digits of input integer
-
vector_cross_product.cpp Calculates the Cross Product and the magnitude of two mathematical 3D vectors
-
volume.cpp Implmentations for the volume of various 3D shapes
+
string_fibonacci.cpp This Programme returns the Nth fibonacci as a string
+
sum_of_binomial_coefficient.cpp Algorithm to find sum of binomial coefficients of a given positive integer
+
sum_of_digits.cpp A C++ Program to find the Sum of Digits of input integer
+
vector_cross_product.cpp Calculates the Cross Product and the magnitude of two mathematical 3D vectors
+
volume.cpp Implmentations for the volume of various 3D shapes
numerical_methods
babylonian_method.cpp A babylonian method (BM) is an algorithm that computes the square root
bisection_method.cpp Solve the equation \(f(x)=0\) using bisection method
diff --git a/globals_func_m.html b/globals_func_m.html
index 253a2619a..01602fa0f 100644
--- a/globals_func_m.html
+++ b/globals_func_m.html
@@ -116,7 +116,7 @@ $(function(){initNavTree('globals_func_m.html','',''); });
Here is a list of all documented functions with links to the documentation:
- m -
-main() : generate_parentheses.cpp , graph_coloring.cpp , knight_tour.cpp , minimax.cpp , n_queens.cpp , n_queens_all_solution_optimised.cpp , nqueen_print_all_solutions.cpp , rat_maze.cpp , subarray_sum.cpp , subset_sum.cpp , sudoku_solver.cpp , wildcard_matching.cpp , count_bits_flip.cpp , count_of_set_bits.cpp , count_of_trailing_ciphers_in_factorial_n.cpp , find_non_repeating_number.cpp , hamming_distance.cpp , next_higher_number_with_same_number_of_set_bits.cpp , power_of_2.cpp , set_kth_bit.cpp , travelling_salesman_using_bit_manipulation.cpp , a1z26_cipher.cpp , atbash_cipher.cpp , caesar_cipher.cpp , elliptic_curve_key_exchange.cpp , hill_cipher.cpp , morse_code.cpp , vigenere_cipher.cpp , xor_cipher.cpp , fcfs_scheduling.cpp , non_preemptive_sjf_scheduling.cpp , avltree.cpp , bloom_filter.cpp , disjoint_set.cpp , dsu_path_compression.cpp , dsu_union_rank.cpp , linked_list.cpp , linkedlist_implentation_usingarray.cpp , list_array.cpp , queue_using_array.cpp , queue_using_two_stacks.cpp , reverse_a_linked_list.cpp , segment_tree.cpp , skip_list.cpp , sparse_table.cpp , treap.cpp , tree_234.cpp , trie_modern.cpp , trie_tree.cpp , trie_using_hashmap.cpp , karatsuba_algorithm_for_fast_multiplication.cpp , 0_1_knapsack.cpp , abbreviation.cpp , armstrong_number_templated.cpp , coin_change_topdown.cpp , cut_rod.cpp , house_robber.cpp , kadane.cpp , longest_common_string.cpp , longest_increasing_subsequence.cpp , longest_palindromic_subsequence.cpp , maximum_circular_subarray.cpp , minimum_edit_distance.cpp , palindrome_partitioning.cpp , shortest_common_supersequence.cpp , subset_sum_dynamic.cpp , trapped_rainwater.cpp , trapped_rainwater2.cpp , unbounded_0_1_knapsack.cpp , word_break.cpp , memory_game.cpp , jarvis_algorithm.cpp , line_segment_intersection.cpp , bidirectional_dijkstra.cpp , breadth_first_search.cpp , connected_components.cpp , connected_components_with_dsu.cpp , depth_first_search.cpp , depth_first_search_with_stack.cpp , dijkstra.cpp , hamiltons_cycle.cpp , hopcroft_karp.cpp , is_graph_bipartite.cpp , lowest_common_ancestor.cpp , number_of_paths.cpp , topological_sort.cpp , travelling_salesman_problem.cpp , spirograph.cpp , binary_addition.cpp , boruvkas_minimum_spanning_tree.cpp , digit_separation.cpp , dijkstra_greedy.cpp , gale_shapley.cpp , jump_game.cpp , kruskals_minimum_spanning_tree.cpp , chaining.cpp , double_hash_hash_table.cpp , linear_probing_hash_table.cpp , md5.cpp , quadratic_probing_hash_table.cpp , sha1.cpp , sha256.cpp , adaline_learning.cpp , k_nearest_neighbors.cpp , kohonen_som_topology.cpp , kohonen_som_trace.cpp , neural_network.cpp , ordinary_least_squares_regressor.cpp , aliquot_sum.cpp , approximate_pi.cpp , area.cpp , binary_exponent.cpp , binomial_calculate.cpp , check_amicable_pair.cpp , check_factorial.cpp , check_prime.cpp , complex_numbers.cpp , double_factorial.cpp , eratosthenes.cpp , eulers_totient_function.cpp , extended_euclid_algorithm.cpp , factorial.cpp , fast_power.cpp , fibonacci.cpp , fibonacci_fast.cpp , fibonacci_matrix_exponentiation.cpp , fibonacci_sum.cpp , finding_number_of_digits_in_a_number.cpp , gcd_iterative_euclidean.cpp , gcd_of_n_numbers.cpp , gcd_recursive_euclidean.cpp , integral_approximation.cpp , integral_approximation2.cpp , inv_sqrt.cpp , iterative_factorial.cpp , large_factorial.cpp , largest_power.cpp , lcm_sum.cpp , least_common_multiple.cpp , magic_number.cpp , miller_rabin.cpp , modular_division.cpp , modular_exponentiation.cpp , modular_inverse_fermat_little_theorem.cpp , modular_inverse_simple.cpp , n_bonacci.cpp , n_choose_r.cpp , number_of_positive_divisors.cpp , perimeter.cpp , power_for_huge_numbers.cpp , power_of_two.cpp , prime_factorization.cpp , prime_numbers.cpp , primes_up_to_billion.cpp , quadratic_equations_complex_numbers.cpp , realtime_stats.cpp , sieve_of_eratosthenes.cpp , sqrt_double.cpp , string_fibonacci.cpp , sum_of_binomial_coefficient.cpp , sum_of_digits.cpp , vector_cross_product.cpp , volume.cpp , babylonian_method.cpp , bisection_method.cpp , brent_method_extrema.cpp , composite_simpson_rule.cpp , false_position.cpp , fast_fourier_transform.cpp , gaussian_elimination.cpp , golden_search_extrema.cpp , gram_schmidt.cpp , inverse_fast_fourier_transform.cpp , lu_decompose.cpp , midpoint_integral_method.cpp , newton_raphson_method.cpp , ode_forward_euler.cpp , ode_midpoint_euler.cpp , ode_semi_implicit_euler.cpp , qr_decomposition.cpp , qr_eigen_values.cpp , rungekutta.cpp , successive_approximation.cpp , array_left_rotation.cpp , array_right_rotation.cpp , circular_linked_list.cpp , inorder_successor_of_bst.cpp , intersection_of_two_arrays.cpp , reverse_binary_tree.cpp , trie_multiple_search.cpp , union_of_two_arrays.cpp , buzz_number.cpp , decimal_to_hexadecimal.cpp , decimal_to_roman_numeral.cpp , fast_integer_input.cpp , happy_number.cpp , iterative_tree_traversals.cpp , kadanes3.cpp , kelvin_to_celsius.cpp , lfu_cache.cpp , longest_substring_without_repeating_characters.cpp , lru_cache.cpp , lru_cache2.cpp , matrix_exponentiation.cpp , palindrome_of_number.cpp , pascal_triangle.cpp , postfix_evaluation.cpp , primality_test.cpp , recursive_tree_traversal.cpp , smallest_circle.cpp , sparse_matrix.cpp , spiral_print.cpp , stairs_pattern.cpp , tower_of_hanoi.cpp , vector_important_functions.cpp , ground_to_ground_projectile_motion.cpp , addition_rule.cpp , bayes_theorem.cpp , binomial_dist.cpp , exponential_dist.cpp , geometric_dist.cpp , poisson_dist.cpp , windowed_median.cpp , fenwick_tree.cpp , heavy_light_decomposition.cpp , persistent_seg_tree_lazy_prop.cpp , prefix_sum_array.cpp , segtree.cpp , exponential_search.cpp , fibonacci_search.cpp , floyd_cycle_detection_algo.cpp , hash_search.cpp , interpolation_search2.cpp , linear_search.cpp , longest_increasing_subsequence_using_binary_search.cpp , median_search.cpp , median_search2.cpp , saddleback_search.cpp , sublist_search.cpp , ternary_search.cpp , text_search.cpp , binary_insertion_sort.cpp , bogo_sort.cpp , bubble_sort.cpp , comb_sort.cpp , count_inversions.cpp , cycle_sort.cpp , dnf_sort.cpp , gnome_sort.cpp , heap_sort.cpp , insertion_sort.cpp , insertion_sort_recursive.cpp , merge_insertion_sort.cpp , merge_sort.cpp , pancake_sort.cpp , pigeonhole_sort.cpp , quick_sort.cpp , quick_sort_3.cpp , quick_sort_iterative.cpp , radix_sort2.cpp , random_pivot_quick_sort.cpp , recursive_bubble_sort.cpp , selection_sort_recursive.cpp , shell_sort2.cpp , stooge_sort.cpp , strand_sort.cpp , wave_sort.cpp , boyer_moore.cpp , brute_force_string_searching.cpp , duval.cpp , horspool.cpp , manacher_algorithm.cpp , rabin_karp.cpp , z_function.cpp
+main() : generate_parentheses.cpp , graph_coloring.cpp , knight_tour.cpp , minimax.cpp , n_queens.cpp , n_queens_all_solution_optimised.cpp , nqueen_print_all_solutions.cpp , rat_maze.cpp , subarray_sum.cpp , subset_sum.cpp , sudoku_solver.cpp , wildcard_matching.cpp , count_bits_flip.cpp , count_of_set_bits.cpp , count_of_trailing_ciphers_in_factorial_n.cpp , find_non_repeating_number.cpp , hamming_distance.cpp , next_higher_number_with_same_number_of_set_bits.cpp , power_of_2.cpp , set_kth_bit.cpp , travelling_salesman_using_bit_manipulation.cpp , a1z26_cipher.cpp , atbash_cipher.cpp , caesar_cipher.cpp , elliptic_curve_key_exchange.cpp , hill_cipher.cpp , morse_code.cpp , vigenere_cipher.cpp , xor_cipher.cpp , fcfs_scheduling.cpp , non_preemptive_sjf_scheduling.cpp , avltree.cpp , bloom_filter.cpp , disjoint_set.cpp , dsu_path_compression.cpp , dsu_union_rank.cpp , linked_list.cpp , linkedlist_implentation_usingarray.cpp , list_array.cpp , queue_using_array.cpp , queue_using_two_stacks.cpp , reverse_a_linked_list.cpp , segment_tree.cpp , skip_list.cpp , sparse_table.cpp , treap.cpp , tree_234.cpp , trie_modern.cpp , trie_tree.cpp , trie_using_hashmap.cpp , karatsuba_algorithm_for_fast_multiplication.cpp , 0_1_knapsack.cpp , abbreviation.cpp , armstrong_number_templated.cpp , coin_change_topdown.cpp , cut_rod.cpp , house_robber.cpp , kadane.cpp , longest_common_string.cpp , longest_increasing_subsequence.cpp , longest_palindromic_subsequence.cpp , maximum_circular_subarray.cpp , minimum_edit_distance.cpp , palindrome_partitioning.cpp , shortest_common_supersequence.cpp , subset_sum_dynamic.cpp , trapped_rainwater.cpp , trapped_rainwater2.cpp , unbounded_0_1_knapsack.cpp , word_break.cpp , memory_game.cpp , jarvis_algorithm.cpp , line_segment_intersection.cpp , bidirectional_dijkstra.cpp , breadth_first_search.cpp , connected_components.cpp , connected_components_with_dsu.cpp , depth_first_search.cpp , depth_first_search_with_stack.cpp , dijkstra.cpp , hamiltons_cycle.cpp , hopcroft_karp.cpp , is_graph_bipartite.cpp , lowest_common_ancestor.cpp , number_of_paths.cpp , topological_sort.cpp , travelling_salesman_problem.cpp , spirograph.cpp , binary_addition.cpp , boruvkas_minimum_spanning_tree.cpp , digit_separation.cpp , dijkstra_greedy.cpp , gale_shapley.cpp , jump_game.cpp , kruskals_minimum_spanning_tree.cpp , chaining.cpp , double_hash_hash_table.cpp , linear_probing_hash_table.cpp , md5.cpp , quadratic_probing_hash_table.cpp , sha1.cpp , sha256.cpp , adaline_learning.cpp , k_nearest_neighbors.cpp , kohonen_som_topology.cpp , kohonen_som_trace.cpp , neural_network.cpp , ordinary_least_squares_regressor.cpp , aliquot_sum.cpp , approximate_pi.cpp , area.cpp , binary_exponent.cpp , binomial_calculate.cpp , check_amicable_pair.cpp , check_factorial.cpp , check_prime.cpp , complex_numbers.cpp , double_factorial.cpp , eratosthenes.cpp , eulers_totient_function.cpp , extended_euclid_algorithm.cpp , factorial.cpp , factorial_memoization.cpp , fast_power.cpp , fibonacci.cpp , fibonacci_fast.cpp , fibonacci_matrix_exponentiation.cpp , fibonacci_sum.cpp , finding_number_of_digits_in_a_number.cpp , gcd_iterative_euclidean.cpp , gcd_of_n_numbers.cpp , gcd_recursive_euclidean.cpp , integral_approximation.cpp , integral_approximation2.cpp , inv_sqrt.cpp , iterative_factorial.cpp , large_factorial.cpp , largest_power.cpp , lcm_sum.cpp , least_common_multiple.cpp , magic_number.cpp , miller_rabin.cpp , modular_division.cpp , modular_exponentiation.cpp , modular_inverse_fermat_little_theorem.cpp , modular_inverse_simple.cpp , n_bonacci.cpp , n_choose_r.cpp , number_of_positive_divisors.cpp , perimeter.cpp , power_for_huge_numbers.cpp , power_of_two.cpp , prime_factorization.cpp , prime_numbers.cpp , primes_up_to_billion.cpp , quadratic_equations_complex_numbers.cpp , realtime_stats.cpp , sieve_of_eratosthenes.cpp , sqrt_double.cpp , string_fibonacci.cpp , sum_of_binomial_coefficient.cpp , sum_of_digits.cpp , vector_cross_product.cpp , volume.cpp , babylonian_method.cpp , bisection_method.cpp , brent_method_extrema.cpp , composite_simpson_rule.cpp , false_position.cpp , fast_fourier_transform.cpp , gaussian_elimination.cpp , golden_search_extrema.cpp , gram_schmidt.cpp , inverse_fast_fourier_transform.cpp , lu_decompose.cpp , midpoint_integral_method.cpp , newton_raphson_method.cpp , ode_forward_euler.cpp , ode_midpoint_euler.cpp , ode_semi_implicit_euler.cpp , qr_decomposition.cpp , qr_eigen_values.cpp , rungekutta.cpp , successive_approximation.cpp , array_left_rotation.cpp , array_right_rotation.cpp , circular_linked_list.cpp , inorder_successor_of_bst.cpp , intersection_of_two_arrays.cpp , reverse_binary_tree.cpp , trie_multiple_search.cpp , union_of_two_arrays.cpp , buzz_number.cpp , decimal_to_hexadecimal.cpp , decimal_to_roman_numeral.cpp , fast_integer_input.cpp , happy_number.cpp , iterative_tree_traversals.cpp , kadanes3.cpp , kelvin_to_celsius.cpp , lfu_cache.cpp , longest_substring_without_repeating_characters.cpp , lru_cache.cpp , lru_cache2.cpp , matrix_exponentiation.cpp , palindrome_of_number.cpp , pascal_triangle.cpp , postfix_evaluation.cpp , primality_test.cpp , recursive_tree_traversal.cpp , smallest_circle.cpp , sparse_matrix.cpp , spiral_print.cpp , stairs_pattern.cpp , tower_of_hanoi.cpp , vector_important_functions.cpp , ground_to_ground_projectile_motion.cpp , addition_rule.cpp , bayes_theorem.cpp , binomial_dist.cpp , exponential_dist.cpp , geometric_dist.cpp , poisson_dist.cpp , windowed_median.cpp , fenwick_tree.cpp , heavy_light_decomposition.cpp , persistent_seg_tree_lazy_prop.cpp , prefix_sum_array.cpp , segtree.cpp , exponential_search.cpp , fibonacci_search.cpp , floyd_cycle_detection_algo.cpp , hash_search.cpp , interpolation_search2.cpp , linear_search.cpp , longest_increasing_subsequence_using_binary_search.cpp , median_search.cpp , median_search2.cpp , saddleback_search.cpp , sublist_search.cpp , ternary_search.cpp , text_search.cpp , binary_insertion_sort.cpp , bogo_sort.cpp , bubble_sort.cpp , comb_sort.cpp , count_inversions.cpp , cycle_sort.cpp , dnf_sort.cpp , gnome_sort.cpp , heap_sort.cpp , insertion_sort.cpp , insertion_sort_recursive.cpp , merge_insertion_sort.cpp , merge_sort.cpp , pancake_sort.cpp , pigeonhole_sort.cpp , quick_sort.cpp , quick_sort_3.cpp , quick_sort_iterative.cpp , radix_sort2.cpp , random_pivot_quick_sort.cpp , recursive_bubble_sort.cpp , selection_sort_recursive.cpp , shell_sort2.cpp , stooge_sort.cpp , strand_sort.cpp , wave_sort.cpp , boyer_moore.cpp , brute_force_string_searching.cpp , duval.cpp , horspool.cpp , manacher_algorithm.cpp , rabin_karp.cpp , z_function.cpp
mat_mul() : qr_eigen_values.cpp
max_subarray_sum() : kadanes3.cpp
merge() : merge_sort.cpp
diff --git a/globals_func_t.html b/globals_func_t.html
index 90f9192c8..059a31509 100644
--- a/globals_func_t.html
+++ b/globals_func_t.html
@@ -139,6 +139,7 @@ $(function(){initNavTree('globals_func_t.html','',''); });
test_contains() : binary_search_tree2.cpp
test_double() : quick_sort_3.cpp
test_f() : shell_sort2.cpp
+test_fact_recursion() : factorial_memoization.cpp
test_find_max() : binary_search_tree2.cpp
test_find_min() : binary_search_tree2.cpp
test_function() : realtime_stats.cpp
diff --git a/globals_m.html b/globals_m.html
index 7780ecd47..9a1c79679 100644
--- a/globals_m.html
+++ b/globals_m.html
@@ -116,7 +116,7 @@ $(function(){initNavTree('globals_m.html','',''); });
Here is a list of all documented file members with links to the documentation:
- m -
-main() : generate_parentheses.cpp , graph_coloring.cpp , knight_tour.cpp , minimax.cpp , n_queens.cpp , n_queens_all_solution_optimised.cpp , nqueen_print_all_solutions.cpp , rat_maze.cpp , subarray_sum.cpp , subset_sum.cpp , sudoku_solver.cpp , wildcard_matching.cpp , count_bits_flip.cpp , count_of_set_bits.cpp , count_of_trailing_ciphers_in_factorial_n.cpp , find_non_repeating_number.cpp , hamming_distance.cpp , next_higher_number_with_same_number_of_set_bits.cpp , power_of_2.cpp , set_kth_bit.cpp , travelling_salesman_using_bit_manipulation.cpp , a1z26_cipher.cpp , atbash_cipher.cpp , caesar_cipher.cpp , elliptic_curve_key_exchange.cpp , hill_cipher.cpp , morse_code.cpp , vigenere_cipher.cpp , xor_cipher.cpp , fcfs_scheduling.cpp , non_preemptive_sjf_scheduling.cpp , avltree.cpp , bloom_filter.cpp , disjoint_set.cpp , dsu_path_compression.cpp , dsu_union_rank.cpp , linked_list.cpp , linkedlist_implentation_usingarray.cpp , list_array.cpp , queue_using_array.cpp , queue_using_two_stacks.cpp , reverse_a_linked_list.cpp , segment_tree.cpp , skip_list.cpp , sparse_table.cpp , treap.cpp , tree_234.cpp , trie_modern.cpp , trie_tree.cpp , trie_using_hashmap.cpp , karatsuba_algorithm_for_fast_multiplication.cpp , 0_1_knapsack.cpp , abbreviation.cpp , armstrong_number_templated.cpp , coin_change_topdown.cpp , cut_rod.cpp , house_robber.cpp , kadane.cpp , longest_common_string.cpp , longest_increasing_subsequence.cpp , longest_palindromic_subsequence.cpp , maximum_circular_subarray.cpp , minimum_edit_distance.cpp , palindrome_partitioning.cpp , shortest_common_supersequence.cpp , subset_sum_dynamic.cpp , trapped_rainwater.cpp , trapped_rainwater2.cpp , unbounded_0_1_knapsack.cpp , word_break.cpp , memory_game.cpp , jarvis_algorithm.cpp , line_segment_intersection.cpp , bidirectional_dijkstra.cpp , breadth_first_search.cpp , connected_components.cpp , connected_components_with_dsu.cpp , depth_first_search.cpp , depth_first_search_with_stack.cpp , dijkstra.cpp , hamiltons_cycle.cpp , hopcroft_karp.cpp , is_graph_bipartite.cpp , lowest_common_ancestor.cpp , number_of_paths.cpp , topological_sort.cpp , travelling_salesman_problem.cpp , spirograph.cpp , binary_addition.cpp , boruvkas_minimum_spanning_tree.cpp , digit_separation.cpp , dijkstra_greedy.cpp , gale_shapley.cpp , jump_game.cpp , kruskals_minimum_spanning_tree.cpp , chaining.cpp , double_hash_hash_table.cpp , linear_probing_hash_table.cpp , md5.cpp , quadratic_probing_hash_table.cpp , sha1.cpp , sha256.cpp , adaline_learning.cpp , k_nearest_neighbors.cpp , kohonen_som_topology.cpp , kohonen_som_trace.cpp , neural_network.cpp , ordinary_least_squares_regressor.cpp , aliquot_sum.cpp , approximate_pi.cpp , area.cpp , binary_exponent.cpp , binomial_calculate.cpp , check_amicable_pair.cpp , check_factorial.cpp , check_prime.cpp , complex_numbers.cpp , double_factorial.cpp , eratosthenes.cpp , eulers_totient_function.cpp , extended_euclid_algorithm.cpp , factorial.cpp , fast_power.cpp , fibonacci.cpp , fibonacci_fast.cpp , fibonacci_matrix_exponentiation.cpp , fibonacci_sum.cpp , finding_number_of_digits_in_a_number.cpp , gcd_iterative_euclidean.cpp , gcd_of_n_numbers.cpp , gcd_recursive_euclidean.cpp , integral_approximation.cpp , integral_approximation2.cpp , inv_sqrt.cpp , iterative_factorial.cpp , large_factorial.cpp , largest_power.cpp , lcm_sum.cpp , least_common_multiple.cpp , magic_number.cpp , miller_rabin.cpp , modular_division.cpp , modular_exponentiation.cpp , modular_inverse_fermat_little_theorem.cpp , modular_inverse_simple.cpp , n_bonacci.cpp , n_choose_r.cpp , number_of_positive_divisors.cpp , perimeter.cpp , power_for_huge_numbers.cpp , power_of_two.cpp , prime_factorization.cpp , prime_numbers.cpp , primes_up_to_billion.cpp , quadratic_equations_complex_numbers.cpp , realtime_stats.cpp , sieve_of_eratosthenes.cpp , sqrt_double.cpp , string_fibonacci.cpp , sum_of_binomial_coefficient.cpp , sum_of_digits.cpp , vector_cross_product.cpp , volume.cpp , babylonian_method.cpp , bisection_method.cpp , brent_method_extrema.cpp , composite_simpson_rule.cpp , false_position.cpp , fast_fourier_transform.cpp , gaussian_elimination.cpp , golden_search_extrema.cpp , gram_schmidt.cpp , inverse_fast_fourier_transform.cpp , lu_decompose.cpp , midpoint_integral_method.cpp , newton_raphson_method.cpp , ode_forward_euler.cpp , ode_midpoint_euler.cpp , ode_semi_implicit_euler.cpp , qr_decomposition.cpp , qr_eigen_values.cpp , rungekutta.cpp , successive_approximation.cpp , array_left_rotation.cpp , array_right_rotation.cpp , circular_linked_list.cpp , inorder_successor_of_bst.cpp , intersection_of_two_arrays.cpp , reverse_binary_tree.cpp , trie_multiple_search.cpp , union_of_two_arrays.cpp , buzz_number.cpp , decimal_to_hexadecimal.cpp , decimal_to_roman_numeral.cpp , fast_integer_input.cpp , happy_number.cpp , iterative_tree_traversals.cpp , kadanes3.cpp , kelvin_to_celsius.cpp , lfu_cache.cpp , longest_substring_without_repeating_characters.cpp , lru_cache.cpp , lru_cache2.cpp , matrix_exponentiation.cpp , palindrome_of_number.cpp , pascal_triangle.cpp , postfix_evaluation.cpp , primality_test.cpp , recursive_tree_traversal.cpp , smallest_circle.cpp , sparse_matrix.cpp , spiral_print.cpp , stairs_pattern.cpp , tower_of_hanoi.cpp , vector_important_functions.cpp , ground_to_ground_projectile_motion.cpp , addition_rule.cpp , bayes_theorem.cpp , binomial_dist.cpp , exponential_dist.cpp , geometric_dist.cpp , poisson_dist.cpp , windowed_median.cpp , fenwick_tree.cpp , heavy_light_decomposition.cpp , persistent_seg_tree_lazy_prop.cpp , prefix_sum_array.cpp , segtree.cpp , exponential_search.cpp , fibonacci_search.cpp , floyd_cycle_detection_algo.cpp , hash_search.cpp , interpolation_search2.cpp , linear_search.cpp , longest_increasing_subsequence_using_binary_search.cpp , median_search.cpp , median_search2.cpp , saddleback_search.cpp , sublist_search.cpp , ternary_search.cpp , text_search.cpp , binary_insertion_sort.cpp , bogo_sort.cpp , bubble_sort.cpp , comb_sort.cpp , count_inversions.cpp , cycle_sort.cpp , dnf_sort.cpp , gnome_sort.cpp , heap_sort.cpp , insertion_sort.cpp , insertion_sort_recursive.cpp , merge_insertion_sort.cpp , merge_sort.cpp , pancake_sort.cpp , pigeonhole_sort.cpp , quick_sort.cpp , quick_sort_3.cpp , quick_sort_iterative.cpp , radix_sort2.cpp , random_pivot_quick_sort.cpp , recursive_bubble_sort.cpp , selection_sort_recursive.cpp , shell_sort2.cpp , stooge_sort.cpp , strand_sort.cpp , wave_sort.cpp , boyer_moore.cpp , brute_force_string_searching.cpp , duval.cpp , horspool.cpp , manacher_algorithm.cpp , rabin_karp.cpp , z_function.cpp
+main() : generate_parentheses.cpp , graph_coloring.cpp , knight_tour.cpp , minimax.cpp , n_queens.cpp , n_queens_all_solution_optimised.cpp , nqueen_print_all_solutions.cpp , rat_maze.cpp , subarray_sum.cpp , subset_sum.cpp , sudoku_solver.cpp , wildcard_matching.cpp , count_bits_flip.cpp , count_of_set_bits.cpp , count_of_trailing_ciphers_in_factorial_n.cpp , find_non_repeating_number.cpp , hamming_distance.cpp , next_higher_number_with_same_number_of_set_bits.cpp , power_of_2.cpp , set_kth_bit.cpp , travelling_salesman_using_bit_manipulation.cpp , a1z26_cipher.cpp , atbash_cipher.cpp , caesar_cipher.cpp , elliptic_curve_key_exchange.cpp , hill_cipher.cpp , morse_code.cpp , vigenere_cipher.cpp , xor_cipher.cpp , fcfs_scheduling.cpp , non_preemptive_sjf_scheduling.cpp , avltree.cpp , bloom_filter.cpp , disjoint_set.cpp , dsu_path_compression.cpp , dsu_union_rank.cpp , linked_list.cpp , linkedlist_implentation_usingarray.cpp , list_array.cpp , queue_using_array.cpp , queue_using_two_stacks.cpp , reverse_a_linked_list.cpp , segment_tree.cpp , skip_list.cpp , sparse_table.cpp , treap.cpp , tree_234.cpp , trie_modern.cpp , trie_tree.cpp , trie_using_hashmap.cpp , karatsuba_algorithm_for_fast_multiplication.cpp , 0_1_knapsack.cpp , abbreviation.cpp , armstrong_number_templated.cpp , coin_change_topdown.cpp , cut_rod.cpp , house_robber.cpp , kadane.cpp , longest_common_string.cpp , longest_increasing_subsequence.cpp , longest_palindromic_subsequence.cpp , maximum_circular_subarray.cpp , minimum_edit_distance.cpp , palindrome_partitioning.cpp , shortest_common_supersequence.cpp , subset_sum_dynamic.cpp , trapped_rainwater.cpp , trapped_rainwater2.cpp , unbounded_0_1_knapsack.cpp , word_break.cpp , memory_game.cpp , jarvis_algorithm.cpp , line_segment_intersection.cpp , bidirectional_dijkstra.cpp , breadth_first_search.cpp , connected_components.cpp , connected_components_with_dsu.cpp , depth_first_search.cpp , depth_first_search_with_stack.cpp , dijkstra.cpp , hamiltons_cycle.cpp , hopcroft_karp.cpp , is_graph_bipartite.cpp , lowest_common_ancestor.cpp , number_of_paths.cpp , topological_sort.cpp , travelling_salesman_problem.cpp , spirograph.cpp , binary_addition.cpp , boruvkas_minimum_spanning_tree.cpp , digit_separation.cpp , dijkstra_greedy.cpp , gale_shapley.cpp , jump_game.cpp , kruskals_minimum_spanning_tree.cpp , chaining.cpp , double_hash_hash_table.cpp , linear_probing_hash_table.cpp , md5.cpp , quadratic_probing_hash_table.cpp , sha1.cpp , sha256.cpp , adaline_learning.cpp , k_nearest_neighbors.cpp , kohonen_som_topology.cpp , kohonen_som_trace.cpp , neural_network.cpp , ordinary_least_squares_regressor.cpp , aliquot_sum.cpp , approximate_pi.cpp , area.cpp , binary_exponent.cpp , binomial_calculate.cpp , check_amicable_pair.cpp , check_factorial.cpp , check_prime.cpp , complex_numbers.cpp , double_factorial.cpp , eratosthenes.cpp , eulers_totient_function.cpp , extended_euclid_algorithm.cpp , factorial.cpp , factorial_memoization.cpp , fast_power.cpp , fibonacci.cpp , fibonacci_fast.cpp , fibonacci_matrix_exponentiation.cpp , fibonacci_sum.cpp , finding_number_of_digits_in_a_number.cpp , gcd_iterative_euclidean.cpp , gcd_of_n_numbers.cpp , gcd_recursive_euclidean.cpp , integral_approximation.cpp , integral_approximation2.cpp , inv_sqrt.cpp , iterative_factorial.cpp , large_factorial.cpp , largest_power.cpp , lcm_sum.cpp , least_common_multiple.cpp , magic_number.cpp , miller_rabin.cpp , modular_division.cpp , modular_exponentiation.cpp , modular_inverse_fermat_little_theorem.cpp , modular_inverse_simple.cpp , n_bonacci.cpp , n_choose_r.cpp , number_of_positive_divisors.cpp , perimeter.cpp , power_for_huge_numbers.cpp , power_of_two.cpp , prime_factorization.cpp , prime_numbers.cpp , primes_up_to_billion.cpp , quadratic_equations_complex_numbers.cpp , realtime_stats.cpp , sieve_of_eratosthenes.cpp , sqrt_double.cpp , string_fibonacci.cpp , sum_of_binomial_coefficient.cpp , sum_of_digits.cpp , vector_cross_product.cpp , volume.cpp , babylonian_method.cpp , bisection_method.cpp , brent_method_extrema.cpp , composite_simpson_rule.cpp , false_position.cpp , fast_fourier_transform.cpp , gaussian_elimination.cpp , golden_search_extrema.cpp , gram_schmidt.cpp , inverse_fast_fourier_transform.cpp , lu_decompose.cpp , midpoint_integral_method.cpp , newton_raphson_method.cpp , ode_forward_euler.cpp , ode_midpoint_euler.cpp , ode_semi_implicit_euler.cpp , qr_decomposition.cpp , qr_eigen_values.cpp , rungekutta.cpp , successive_approximation.cpp , array_left_rotation.cpp , array_right_rotation.cpp , circular_linked_list.cpp , inorder_successor_of_bst.cpp , intersection_of_two_arrays.cpp , reverse_binary_tree.cpp , trie_multiple_search.cpp , union_of_two_arrays.cpp , buzz_number.cpp , decimal_to_hexadecimal.cpp , decimal_to_roman_numeral.cpp , fast_integer_input.cpp , happy_number.cpp , iterative_tree_traversals.cpp , kadanes3.cpp , kelvin_to_celsius.cpp , lfu_cache.cpp , longest_substring_without_repeating_characters.cpp , lru_cache.cpp , lru_cache2.cpp , matrix_exponentiation.cpp , palindrome_of_number.cpp , pascal_triangle.cpp , postfix_evaluation.cpp , primality_test.cpp , recursive_tree_traversal.cpp , smallest_circle.cpp , sparse_matrix.cpp , spiral_print.cpp , stairs_pattern.cpp , tower_of_hanoi.cpp , vector_important_functions.cpp , ground_to_ground_projectile_motion.cpp , addition_rule.cpp , bayes_theorem.cpp , binomial_dist.cpp , exponential_dist.cpp , geometric_dist.cpp , poisson_dist.cpp , windowed_median.cpp , fenwick_tree.cpp , heavy_light_decomposition.cpp , persistent_seg_tree_lazy_prop.cpp , prefix_sum_array.cpp , segtree.cpp , exponential_search.cpp , fibonacci_search.cpp , floyd_cycle_detection_algo.cpp , hash_search.cpp , interpolation_search2.cpp , linear_search.cpp , longest_increasing_subsequence_using_binary_search.cpp , median_search.cpp , median_search2.cpp , saddleback_search.cpp , sublist_search.cpp , ternary_search.cpp , text_search.cpp , binary_insertion_sort.cpp , bogo_sort.cpp , bubble_sort.cpp , comb_sort.cpp , count_inversions.cpp , cycle_sort.cpp , dnf_sort.cpp , gnome_sort.cpp , heap_sort.cpp , insertion_sort.cpp , insertion_sort_recursive.cpp , merge_insertion_sort.cpp , merge_sort.cpp , pancake_sort.cpp , pigeonhole_sort.cpp , quick_sort.cpp , quick_sort_3.cpp , quick_sort_iterative.cpp , radix_sort2.cpp , random_pivot_quick_sort.cpp , recursive_bubble_sort.cpp , selection_sort_recursive.cpp , shell_sort2.cpp , stooge_sort.cpp , strand_sort.cpp , wave_sort.cpp , boyer_moore.cpp , brute_force_string_searching.cpp , duval.cpp , horspool.cpp , manacher_algorithm.cpp , rabin_karp.cpp , z_function.cpp
mat_mul() : qr_eigen_values.cpp
mat_size : matrix_exponentiation.cpp
matrix : lu_decomposition.h
@@ -125,6 +125,7 @@ $(function(){initNavTree('globals_m.html','',''); });
MAX_ITERATIONS : bisection_method.cpp , newton_raphson_method.cpp
max_size : queue_using_array.cpp
max_subarray_sum() : kadanes3.cpp
+memo : factorial_memoization.cpp
merge() : merge_sort.cpp
mergeSort() : merge_sort.cpp
method1() : decimal_to_binary.cpp
diff --git a/globals_t.html b/globals_t.html
index 438ee1c4e..6f5a5069d 100644
--- a/globals_t.html
+++ b/globals_t.html
@@ -139,6 +139,7 @@ $(function(){initNavTree('globals_t.html','',''); });
test_contains() : binary_search_tree2.cpp
test_double() : quick_sort_3.cpp
test_f() : shell_sort2.cpp
+test_fact_recursion() : factorial_memoization.cpp
test_find_max() : binary_search_tree2.cpp
test_find_min() : binary_search_tree2.cpp
test_function() : realtime_stats.cpp
diff --git a/globals_vars.html b/globals_vars.html
index 40dddd94d..07aab7e8f 100644
--- a/globals_vars.html
+++ b/globals_vars.html
@@ -130,6 +130,7 @@ $(function(){initNavTree('globals_vars.html','',''); });
MAX_ITER : adaline_learning.cpp
MAX_ITERATIONS : newton_raphson_method.cpp
max_size : queue_using_array.cpp
+memo : factorial_memoization.cpp
prime : primes_up_to_billion.cpp
prime_numbers : prime_factorization.cpp
stack : paranthesis_matching.cpp
diff --git a/namespacemembers_f.html b/namespacemembers_f.html
index a054e3d44..7675e95af 100644
--- a/namespacemembers_f.html
+++ b/namespacemembers_f.html
@@ -116,6 +116,7 @@ $(function(){initNavTree('namespacemembers_f.html','',''); });
Here is a list of all documented namespace members with links to the namespaces they belong to:
- f -