diff --git a/annotated.html b/annotated.html index 94d2a55f9..22d319193 100644 --- a/annotated.html +++ b/annotated.html @@ -130,128 +130,131 @@ $(document).ready(function(){initNavTree('annotated.html',''); initResizable();
-vector vector Greedy Algorithms. +
for std::vector More...
Greedy Algorithms.
-for IO operations for std::vector for assert for INT_MAX
+|
+ Algorithms_in_C++ 1.0.0
+
+ Set of algorithms implemented in C++.
+ |
+
Namespace for performing strassen's multiplication. +More...
+Namespace for performing strassen's multiplication.
+[Borůvkas Algorithm](https://en.wikipedia.org/wiki/Borůvka's_algorithm) to find the Minimum Spanning Tree More...
-#include <iostream>#include <vector>#include <cassert>#include <cassert>#include <climits>#include <iostream>#include <vector>Boruvka's algorithm is a greepy algorithm to find the MST by starting with small trees, and combining them to build bigger ones.
Combine each group with the group it shares its smallest edge, adding the smallest edge to the MST.
It assumes that the graph is connected. Non-connected edges can be represented using 0 or INT_MAX
@@ -179,112 +180,116 @@ FunctionsMain function.
Self-test implementations.
#include <algorithm>#include <cassert>#include <iostream>#include <vector>#include <limits>#include <vector>Main function.
Self-test implementations.
Implementation of Sparse Table data structure. More...
-#include <vector>#include <algorithm>#include <cassert>#include <iostream>#include <algorithm>#include <vector>Main function
-#include <cassert>#include <iostream>#include <vector>#include <unordered_map>#include <vector>|
+ Algorithms_in_C++ 1.0.0
+
+ Set of algorithms implemented in C++.
+ |
+
+Public Member Functions | |
| template<typename Integer , typename = typename std::enable_if< std::is_integral<Integer>::value, Integer>::type> | |
| Matrix (const Integer size) | |
| Constructor. | |
| template<typename Integer , typename = typename std::enable_if< std::is_integral<Integer>::value, Integer>::type> | |
| Matrix (const Integer rows, const Integer cols) | |
| Constructor. | |
| std::pair< size_t, size_t > | size () const |
| Get the matrix shape. | |
| template<typename Integer , typename = typename std::enable_if< std::is_integral<Integer>::value, Integer>::type> | |
| std::vector< T > & | operator[] (const Integer index) |
| returns the address of the element at ith place (here ith row of the matrix) | |
| Matrix | slice (const size_t row_start, const size_t row_end=MAX_SIZE, const size_t col_start=MAX_SIZE, const size_t col_end=MAX_SIZE) const |
| Creates a new matrix and returns a part of it. | |
| template<typename Number , typename = typename std::enable_if< std::is_integral<Number>::value || std::is_floating_point<Number>::value, Number>::type> | |
| void | h_stack (const Matrix< Number > &other) |
| Horizontally stack the matrix (one after the other) | |
| template<typename Number , typename = typename std::enable_if< std::is_integral<Number>::value || std::is_floating_point<Number>::value, Number>::type> | |
| void | v_stack (const Matrix< Number > &other) |
| Horizontally stack the matrix (current matrix above the other) | |
| template<typename Number , typename = typename std::enable_if< std::is_integral<Number>::value || std::is_floating_point<Number>::value, bool>::type> | |
| Matrix | operator+ (const Matrix< Number > &other) const |
| Add two matrices and returns a new matrix. | |
| template<typename Number , typename = typename std::enable_if< std::is_integral<Number>::value || std::is_floating_point<Number>::value, bool>::type> | |
| Matrix & | operator+= (const Matrix< Number > &other) const |
| Add another matrices to current matrix. | |
| template<typename Number , typename = typename std::enable_if< std::is_integral<Number>::value || std::is_floating_point<Number>::value, bool>::type> | |
| Matrix | operator- (const Matrix< Number > &other) const |
| Subtract two matrices and returns a new matrix. | |
| template<typename Number , typename = typename std::enable_if< std::is_integral<Number>::value || std::is_floating_point<Number>::value, bool>::type> | |
| Matrix & | operator-= (const Matrix< Number > &other) const |
| Subtract another matrices to current matrix. | |
| template<typename Number , typename = typename std::enable_if< std::is_integral<Number>::value || std::is_floating_point<Number>::value, bool>::type> | |
| Matrix | operator* (const Matrix< Number > &other) const |
| Multiply two matrices and returns a new matrix. | |
| template<typename Number , typename = typename std::enable_if< std::is_integral<Number>::value || std::is_floating_point<Number>::value, bool>::type> | |
| Matrix | operator* (const Number other) const |
| Multiply matrix with a number and returns a new matrix. | |
| template<typename Number , typename = typename std::enable_if< std::is_integral<Number>::value || std::is_floating_point<Number>::value, bool>::type> | |
| Matrix & | operator*= (const Number other) const |
| Multiply a number to current matrix. | |
| template<typename Number , typename = typename std::enable_if< std::is_integral<Number>::value || std::is_floating_point<Number>::value, bool>::type> | |
| Matrix | naive_multiplication (const Matrix< Number > &other) const |
| Naive multiplication performed on this. | |
| template<typename Number , typename = typename std::enable_if< std::is_integral<Number>::value || std::is_floating_point<Number>::value, bool>::type> | |
| Matrix | strassens_multiplication (const Matrix< Number > &other) const |
| Strassens method of multiplying two matrices References: https://en.wikipedia.org/wiki/Strassen_algorithm. | |
| bool | operator== (const Matrix< T > &other) const |
| Compares two matrices if each of them are equal or not. | |
+Private Attributes | |
| +std::vector< std::vector< T > > | _mat |
+Friends | |
| std::ostream & | operator<< (std::ostream &out, const Matrix< T > &mat) |
Matrix class.
+
+
|
+ +inlineexplicit | +
Constructor.
+| Integer | ensuring integers are being evaluated and not other data types. |
| size | denoting the size of Matrix as size x size |
+
|
+ +inline | +
Constructor.
+| Integer | ensuring integers are being evaluated and not other data types. |
| rows | denoting the total rows of Matrix |
| cols | denoting the total elements in each row of Matrix |
+
|
+ +inline | +
Horizontally stack the matrix (one after the other)
+| Number | any type of number |
| other | the other matrix: note that this array is not modified |
+
|
+ +inline | +
Naive multiplication performed on this.
+| Number | any real value to multiply |
| other | Other matrix to multiply to this |
+
|
+ +inline | +
Multiply two matrices and returns a new matrix.
+| Number | any real value to multiply |
| other | Other matrix to multiply to this |
+
|
+ +inline | +
Multiply matrix with a number and returns a new matrix.
+| Number | any real value to multiply |
| other | Other real number to multiply to current matrix |
+
|
+ +inline | +
Multiply a number to current matrix.
+| Number | any real value to multiply |
| other | Other matrix to multiply to this |
+
|
+ +inline | +
Add two matrices and returns a new matrix.
+| Number | any real value to add |
| other | Other matrix to add to this |
+
|
+ +inline | +
Add another matrices to current matrix.
+| Number | any real value to add |
| other | Other matrix to add to this |
+
|
+ +inline | +
Subtract two matrices and returns a new matrix.
+| Number | any real value to multiply |
| other | Other matrix to subtract to this |
+
|
+ +inline | +
Subtract another matrices to current matrix.
+| Number | any real value to Subtract |
| other | Other matrix to Subtract to this |
+
|
+ +inline | +
Compares two matrices if each of them are equal or not.
+| other | other matrix to compare |
+
|
+ +inline | +
returns the address of the element at ith place (here ith row of the matrix)
+| Integer | any valid integer |
| index | index which is requested |
+
|
+ +inline | +
+
|
+ +inline | +
Creates a new matrix and returns a part of it.
+| row_start | start of the row |
| row_end | end of the row |
| col_start | start of the col |
| col_end | end of the column |
+
|
+ +inline | +
Strassens method of multiplying two matrices References: https://en.wikipedia.org/wiki/Strassen_algorithm.
+| Number | any real value to multiply |
| other | Other matrix to multiply to this |
+
|
+ +inline | +
Horizontally stack the matrix (current matrix above the other)
+| Number | any type of number (Integer or floating point) |
| other | the other matrix: note that this array is not modified |
+
|
+ +friend | +
Dynamic Programming algorithms.
Dynamic programming algorithms.
-for unordered map
for std::vector
Dynamic Programming algorithm.
Dynamic Programming Algorithms.
@@ -126,7 +125,7 @@ FunctionsDynamic Programming algorithms
for assert for IO operations
Dynamic Programming algorithms
-for std::assert for IO operations for std::vector
+for std::assert for IO operations for unordered map
Dynamic Programming algorithms
|
+ Algorithms_in_C++ 1.0.0
+
+ Set of algorithms implemented in C++.
+ |
+
This is the complete list of members for divide_and_conquer::strassens_multiplication::Matrix< T, typename >, including all inherited members.
+for std::vector
+Strassen's algorithm is one of the methods for multiplying two matrices. It is one of the faster algorithms for larger matrices than naive multiplication method.
for assert for string for IO operations
+Divide and Conquer algorithms
+It involves dividing each matrices into 4 blocks, given they are evenly divisible, and are combined with new defined matrices involving 7 matrix multiplications instead of eight, yielding O(n^2.8073) complexity.
+Divide and Conquer algorithms
a-z a-z