diff --git a/d1/d9a/hopcroft__karp_8cpp.html b/d1/d9a/hopcroft__karp_8cpp.html index 71ce0ea43..721f5d70a 100644 --- a/d1/d9a/hopcroft__karp_8cpp.html +++ b/d1/d9a/hopcroft__karp_8cpp.html @@ -144,22 +144,22 @@ Functions

Detailed Description

Implementation of Hopcroft–Karp algorithm.

The Hopcroft–Karp algorithm is an algorithm that takes as input a bipartite graph and produces as output a maximum cardinality matching, it runs in O(E√V) time in worst case.

-

+

Bipartite graph

A bipartite graph (or bigraph) is a graph whose vertices can be divided into two disjoint and independent sets U and V such that every edge connects a vertex in U to one in V. Vertex sets U and V are usually called the parts of the graph. Equivalently, a bipartite graph is a graph that does not contain any odd-length cycles.

-

+

Matching and Not-Matching edges

Given a matching M, edges that are part of matching are called Matching edges and edges that are not part of M (or connect free nodes) are called Not-Matching edges.

-

+

Maximum cardinality matching

Given a bipartite graphs G = ( V = ( X , Y ) , E ) whose partition has the parts X and Y, with E denoting the edges of the graph, the goal is to find a matching with as many edges as possible. Equivalently, a matching that covers as many vertices as possible.

-

+

Augmenting paths

Given a matching M, an augmenting path is an alternating path that starts from and ends on free vertices. All single edge paths that start and end with free vertices are augmenting paths.

-

+

Concept

A matching M is not maximum if there exists an augmenting path. It is also true other way, i.e, a matching is maximum if no augmenting path exists.

-

+

Algorithm

1) Initialize the Maximal Matching M as empty. 2) While there exists an Augmenting Path P Remove matching edges of P from M and add not-matching edges of P to M (This increases size of M by 1 as P starts and ends with a free vertex i.e. a node that is not part of matching.) 3) Return M.

Author
Krishna Pal Deora
diff --git a/d1/ded/windowed__median_8cpp.html b/d1/ded/windowed__median_8cpp.html index 875e55fc6..e9486c210 100644 --- a/d1/ded/windowed__median_8cpp.html +++ b/d1/ded/windowed__median_8cpp.html @@ -157,7 +157,7 @@ Functions

Detailed Description

An implementation of a median calculation of a sliding window along a data stream.

Given a stream of integers, the algorithm calculates the median of a fixed size window at the back of the stream. The leading time complexity of this algorithm is O(log(N), and it is inspired by the known algorithm to [find median from (infinite) data stream](https://www.tutorialcup.com/interview/algorithm/find-median-from-data-stream.htm), with the proper modifications to account for the finite window size for which the median is requested

-

+

Algorithm

The sliding window is managed by a list, which guarantees O(1) for both pushing and popping. Each new value is pushed to the window back, while a value from the front of the window is popped. In addition, the algorithm manages a multi-value binary search tree (BST), implemented by std::multiset. For each new value that is inserted into the window, it is also inserted to the BST. When a value is popped from the window, it is also erased from the BST. Both insertion and erasion to/from the BST are O(logN) in time, with N the size of the window. Finally, the algorithm keeps a pointer to the root of the BST, and updates its position whenever values are inserted or erased to/from BST. The root of the tree is the median! Hence, median retrieval is always O(1)

Time complexity: O(logN). Space complexity: O(N). N - size of window

Author
Yaniv Hollander
diff --git a/d2/d26/count__inversions_8cpp.html b/d2/d26/count__inversions_8cpp.html index 26b183448..f48d0be5b 100644 --- a/d2/d26/count__inversions_8cpp.html +++ b/d2/d26/count__inversions_8cpp.html @@ -158,7 +158,7 @@ Functions

two elements a[i] and a[j] form an inversion if a[i] > a[j] and i < j

Time Complexity --> O(n.log n)

Space Complexity --> O(n) ; additional array temp[1..n]

-

+

Algorithm

  1. The idea is similar to merge sort, divide the array into two equal or almost equal halves in each step until the base case is reached.
  2. diff --git a/d3/db3/lru__cache_8cpp.html b/d3/db3/lru__cache_8cpp.html index 2b6895606..2f0519289 100644 --- a/d3/db3/lru__cache_8cpp.html +++ b/d3/db3/lru__cache_8cpp.html @@ -157,7 +157,7 @@ Functions

    Detailed Description

    An implementation of LRU Cache. Lru is a part of cache algorithms (also frequently called cache replacement algorithms or cache replacement policies).

    -

    +

    Logic

    • Discards the least recently used items first.
    • @@ -165,7 +165,7 @@ Logic
    • General implementations of this technique require keeping "age bits" for cache-lines and track the "Least Recently Used" cache-line based on age-bits.
    • In such an implementation, every time a cache-line is used, the age of all other cache-lines changes
    -

    +

    Algorithm explanation

    For a cache of page frame x:

    • Check if the page is present in cache.
    • @@ -177,7 +177,7 @@ Algorithm explanation

    Every time a requested page is not found in cache, that is a miss or page fault, and if the page is present in cache, then its a hit.

    -

    +

    Data Structure used

    • In the algorithm below we used two different data structure, one is linked list and other one is a hash map
    • diff --git a/d3/df9/recursive__bubble__sort_8cpp.html b/d3/df9/recursive__bubble__sort_8cpp.html index 44de89125..2fad7a216 100644 --- a/d3/df9/recursive__bubble__sort_8cpp.html +++ b/d3/df9/recursive__bubble__sort_8cpp.html @@ -142,7 +142,7 @@ Functions
      Author
      Aditya Prakash

      The working principle of the Bubble sort algorithm.

      Bubble sort is a simple sorting algorithm used to rearrange a set of ascending or descending order elements. Bubble sort gets its name from the fact that data "bubbles" to the top of the dataset.

      -

      +

      Algorithm

      What is Swap?

      Swapping two numbers means that we interchange their values. Often, an additional variable is required for this operation. This is further illustrated in the following:

      diff --git a/d4/d32/inorder__successor__of__bst_8cpp.html b/d4/d32/inorder__successor__of__bst_8cpp.html index 9903e27c5..933939b54 100644 --- a/d4/d32/inorder__successor__of__bst_8cpp.html +++ b/d4/d32/inorder__successor__of__bst_8cpp.html @@ -170,21 +170,21 @@ Functions

      Detailed Description

      An implementation for finding the Inorder successor of a binary search tree Inorder successor of a node is the next node in Inorder traversal of the Binary Tree. Inorder Successor is NULL for the last node in Inorder traversal.

      -

      +

      Case 1: The given node has the right node/subtree

       * In this case, the left-most deepest node in the right subtree will
       

      come just after the given node as we go to left deep in inorder.

      • Go deep to left most node in right subtree. OR, we can also say in case if BST, find the minimum of the subtree for a given node.
      -

      +

      Case 2: The given node does not have a right node/subtree

      -

      +

      Method 1: Use parent pointer (store the address of parent nodes)

      • If a node does not have the right subtree, and we already visited the node itself, then the next node will be its parent node according to inorder traversal, and if we are going to parent from left, then the parent would be unvisited.
      • In other words, go to the nearest ancestor for which given node would be in left subtree.
      -

      +

      Method 2: Search from the root node

      • In case if there is no link from a child node to the parent node, we need to walk down the tree starting from the root node to the given node, by doing so, we are visiting every ancestor of the given node.
      • diff --git a/d4/d38/power__of__two_8cpp.html b/d4/d38/power__of__two_8cpp.html index 88ea0ecfb..0ebb7bbee 100644 --- a/d4/d38/power__of__two_8cpp.html +++ b/d4/d38/power__of__two_8cpp.html @@ -139,7 +139,7 @@ Functions

        Detailed Description

        Implementation to check whether a number is a power of 2 or not.

        This algorithm uses bit manipulation to check if a number is a power of 2 or not.

        -

        +

        Algorithm

        Let the input number be n, then the bitwise and between n and n-1 will let us know whether the number is power of 2 or not

        For Example, If N= 32 then N-1 is 31, if we perform bitwise and of these two numbers then the result will be zero, which indicates that it is the power of 2 If N=23 then N-1 is 22, if we perform bitwise and of these two numbers then the result will not be zero , which indicates that it is not the power of 2

        Note
        This implementation is better than naive recursive or iterative approach.
        diff --git a/d4/d8d/jarvis__algorithm_8cpp.html b/d4/d8d/jarvis__algorithm_8cpp.html index 60866cd69..2da0c5f3f 100644 --- a/d4/d8d/jarvis__algorithm_8cpp.html +++ b/d4/d8d/jarvis__algorithm_8cpp.html @@ -143,7 +143,7 @@ Functions

        Detailed Description

        Implementation of Jarvis’s algorithm.

        Given a set of points in the plane. the convex hull of the set is the smallest convex polygon that contains all the points of it.

        -

        +

        Algorithm

        The idea of Jarvis’s Algorithm is simple, we start from the leftmost point (or point with minimum x coordinate value) and we keep wrapping points in counterclockwise direction.

        The idea is to use orientation() here. Next point is selected as the point that beats all other points at counterclockwise orientation, i.e., next point is q if for any other point r, we have “orientation(p, q, r) = counterclockwise”.

        diff --git a/d4/d9f/selection__sort__recursive_8cpp.html b/d4/d9f/selection__sort__recursive_8cpp.html index 0eeaf02a0..0ad5efe08 100644 --- a/d4/d9f/selection__sort__recursive_8cpp.html +++ b/d4/d9f/selection__sort__recursive_8cpp.html @@ -146,7 +146,7 @@ Functions

        Detailed Description

        Implementation of the Selection sort implementation using recursion.

        The selection sort algorithm divides the input list into two parts: a sorted sublist of items which is built up from left to right at the front (left) of the list, and a sublist of the remaining unsorted items that occupy the rest of the list. Initially, the sorted sublist is empty, and the unsorted sublist is the entire input list. The algorithm proceeds by finding the smallest (or largest, depending on the sorting order) element in the unsorted sublist, exchanging (swapping) it with the leftmost unsorted element (putting it in sorted order), and moving the sublist boundaries one element to the right.

        -

        +

        Implementation

        FindMinIndex This function finds the minimum element of the array(list) recursively by simply comparing the minimum element of array reduced size by 1 and compares it to the last element of the array to find the minimum of the whole array.

        SelectionSortRecursive Just like selection sort, it divides the list into two parts (i.e.: sorted and unsorted) and finds the minimum of the unsorted array. By calling the FindMinIndex function, it swaps the minimum element with the first element of the list, and then solves recursively for the remaining unsorted list.

        Author
        Tushar Khanduri
        diff --git a/d5/d33/gram__schmidt_8cpp.html b/d5/d33/gram__schmidt_8cpp.html index 7919f1af7..2b2d77366 100644 --- a/d5/d33/gram__schmidt_8cpp.html +++ b/d5/d33/gram__schmidt_8cpp.html @@ -146,7 +146,7 @@ Functions

        Detailed Description

        Gram Schmidt Orthogonalisation Process

        Takes the input of Linearly Independent Vectors, returns vectors orthogonal to each other.

        -

        +

        Algorithm

        Take the first vector of given LI vectors as first vector of Orthogonal vectors. Take projection of second input vector on the first vector of Orthogonal vector and subtract it from the 2nd LI vector. Take projection of third vector on the second vector of Othogonal vectors and subtract it from the 3rd LI vector. Keep repeating the above process until all the vectors in the given input array are exhausted.

        For Example: In R2, Input LI Vectors={(3,1),(2,2)} then Orthogonal Vectors= {(3, 1),(-0.4, 1.2)}

        diff --git a/d5/d45/sublist__search_8cpp.html b/d5/d45/sublist__search_8cpp.html index b89bb7085..62c02aa6a 100644 --- a/d5/d45/sublist__search_8cpp.html +++ b/d5/d45/sublist__search_8cpp.html @@ -155,14 +155,14 @@ Functions

        Detailed Description

        Implementation of the Sublist Search Algorithm

        -

        +

        Algorithm

        • Sublist search is used to detect a presence of one list in another list.
        • Suppose we have a single-node list (let's say the first list), and we want to ensure that the list is present in another list (let's say the second list), then we can perform the sublist search to find it.
        • For instance, the first list contains these elements: 23 -> 30 -> 41, and the second list contains these elements: 10 -> 15 -> 23 -> 30 -> 41 -> 49. At a glance, we see that the first list presents in the second list.
        -

        +

        Working

        • The sublist search algorithm works by comparing the first element of the first list with the first element of the second list.
        • diff --git a/d5/d88/md__d_i_r_e_c_t_o_r_y.html b/d5/d88/md__d_i_r_e_c_t_o_r_y.html index 1e210e308..7dba0b536 100644 --- a/d5/d88/md__d_i_r_e_c_t_o_r_y.html +++ b/d5/d88/md__d_i_r_e_c_t_o_r_y.html @@ -114,7 +114,7 @@ $(document).ready(function(){initNavTree('d5/d88/md__d_i_r_e_c_t_o_r_y.html','..
        • Sudoku Solver
        • Wildcard Matching
        -

        +

        Bit Manipulation

        -

        +

        Ciphers

        -

        +

        Cpu Scheduling Algorithms

        -

        +

        Data Structures

        -

        +

        Divide And Conquer

        -

        +

        Dynamic Programming

        -

        +

        Geometry

        -

        +

        Graph

        -

        +

        Graphics

        -

        +

        Greedy Algorithms

        -

        +

        Hashing

        -

        +

        Machine Learning

        -

        +

        Math

        -

        +

        Numerical Methods

        -

        +

        Operations On Datastructures

        -

        +

        Others

        -

        +

        Physics

        -

        +

        Probability

        -

        +

        Range Queries

        -

        +

        Search

        -

        +

        Sorting

        -

        +

        Strings

        • Brute Force String Searching
        • diff --git a/d5/d96/md5_8cpp.html b/d5/d96/md5_8cpp.html index 7b62cd517..47ba8b1cd 100644 --- a/d5/d96/md5_8cpp.html +++ b/d5/d96/md5_8cpp.html @@ -171,7 +171,7 @@ Functions
        • Store salted password

However MD5 has be know to be cryptographically weak for quite some time, yet it is still widely used. This weakness was exploited by the Flame Malware in 2012

-

+

Algorithm

First of all, all values are expected to be in [little endian] (https://en.wikipedia.org/wiki/Endianness). This is especially important when using part of the bytestring as an integer.

The first step of the algorithm is to pad the message for its length to be a multiple of 64 (bytes). This is done by first adding 0x80 (10000000) and then only zeroes until the last 8 bytes must be filled, where then the 64 bit size of the input will be added

diff --git a/d5/ddb/bogo__sort_8cpp.html b/d5/ddb/bogo__sort_8cpp.html index 5c22dfb28..880f6a013 100644 --- a/d5/ddb/bogo__sort_8cpp.html +++ b/d5/ddb/bogo__sort_8cpp.html @@ -142,7 +142,7 @@ Functions

Detailed Description

Implementation of Bogosort algorithm

In computer science, bogosort (also known as permutation sort, stupid sort, slowsort, shotgun sort, random sort, monkey sort, bobosort or shuffle sort) is a highly inefficient sorting algorithm based on the generate and test paradigm. Two versions of this algorithm exist: a deterministic version that enumerates all permutations until it hits a sorted one, and a randomized version that randomly permutes its input.Randomized version is implemented here.

-

+

Algorithm

Shuffle the array untill array is sorted.

Author
Deep Raval
diff --git a/d6/d05/reverse__a__linked__list_8cpp.html b/d6/d05/reverse__a__linked__list_8cpp.html index 8dfee3503..a8828677e 100644 --- a/d6/d05/reverse__a__linked__list_8cpp.html +++ b/d6/d05/reverse__a__linked__list_8cpp.html @@ -152,7 +152,7 @@ Functions

Detailed Description

Implementation of Reversing a single linked list

The linked list is a data structure used for holding a sequence of values, which can be added, displayed, reversed, or removed.

-

+

Algorithm

Values can be added by iterating to the end of a list (by following the pointers) starting from the first link. Whichever link points to null is considered the last link and is pointed to the new value.

Linked List can be reversed by using 3 pointers: current, previous, and next_node; we keep iterating until the last node. Meanwhile, before changing to the next of current, we store it in the next_node pointer, now we store the prev pointer in the current of next, this is where the actual reversal happens. And then we move the prev and current pointers one step forward. Then the head node is made to point to the last node (prev pointer) after completion of an iteration.

diff --git a/d6/d10/cut__rod_8cpp.html b/d6/d10/cut__rod_8cpp.html index e152f21c0..2c9e1140b 100644 --- a/d6/d10/cut__rod_8cpp.html +++ b/d6/d10/cut__rod_8cpp.html @@ -142,7 +142,7 @@ Functions

Detailed Description

Implementation of cutting a rod problem.

Given a rod of length n inches and an array of prices that contains prices of all pieces of size<=n. Determine the maximum profit obtainable by cutting up the rod and selling the pieces.

-

+

Algorithm

The idea is to break the given rod into every smaller piece as possible and then check profit for each piece, by calculating maximum profit for smaller pieces we will build the solution for larger pieces in bottom-up manner.

Author
Anmol
diff --git a/d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html b/d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html index 8431641dc..171d1d772 100644 --- a/d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html +++ b/d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html @@ -131,7 +131,7 @@ Contributor - Make sure the file extensions are <tt>*.hpp</tt>, <tt>*.h</tt> or <tt>*.cpp</tt>. - Don't use **<tt>bits/stdc++.h</tt>** because this is quite Linux-specific and slows down the compilation process. - Organize your code using **<tt>struct</tt>**, **<tt>class</tt>**, and/or **<tt>namespace</tt>** keywords. -- If an implementation of the algorithm already exists, please refer to the @ref new-file-name-guidelines "file-name section below". +- If an implementation of the algorithm already exists, please refer to the @ref file-name-guidelines "file-name section below". - You can suggest reasonable changes to existing algorithms. - Strictly use snake_case (underscore_separated) in filenames. - If you have added or modified code, please make sure the code compiles before submitting. @@ -152,13 +152,85 @@ Contributor - Make sure to add examples and test cases in your <tt>main()</tt> function. - If you find an algorithm or document without tests, please feel free to create a pull request or issue describing suggested changes. - Please try to add one or more <tt>test()</tt> functions that will invoke the algorithm implementation on random test data with the expected output. Use the <tt>assert()</tt> function to confirm that the tests will pass. Requires including the <tt>cassert</tt> library. +- Test cases should fully verify that your program works as expected. Rather than asking the user for input, it's best to make sure the given output is the correct output. -@subsubsection autotoc_md30 Typical structure of a program +@paragraph autotoc_md30 Self-test examples + +1. <a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/sorting/quick_sort.cpp#L137" target="_blank" >Quick sort</a> testing (complex). + +@icode{cpp} +// Let's make sure the array of numbers is ordered after calling the function. +std::vector<uint64_t> arr = {5, 3, 8, 12, 14, 16, 28, 96, 2, 5977}; +std::vector<uint64_t> arr_sorted = sorting::quick_sort::quick_sort( + arr, 0, int(std::end(arr) - std::begin(arr)) - 1); + +assert(std::is_sorted(std::begin(arr_sorted), std::end(arr_sorted))); +@endicode + +2. <a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/backtracking/subset_sum.cpp#L58" target="_blank" >Subset Sum</a> testing (medium). + +@icode{cpp} +std::vector<int32_t> array1 = {-7, -3, -2, 5, 8}; // input array +assert(backtracking::subset_sum::number_of_subsets(0, array1) == + 2); // first argument in subset_sum function is the required sum and + // second is the input array +@endicode + +3. Small C++ program that showcases and explains the use of tests. + +@icode{cpp} +#include <vector> /// for std::vector +#include <cassert> /// for assert + +/** + * @brief Verifies if the given array + * contains the given number on it. + * @tparam T the type of array (e.g., `int`, `float`, etc.) + * @param arr the array to be used for checking + * @param number the number to check if it's inside the array + * @return false if the number was NOT found in the array + * @return true if the number WAS found in the array + */ +template <typename T> +bool is_number_on_array(const std::vector<T> &arr, const int &number) { + for (int i = 0; i < sizeof(arr) / sizeof(int); i++) { + if (arr[i] == number) { + return true; + } + else { + return false; + } + } + + return false; +} + +/** + * @brief Self-test implementations + * @returns void + */ +static void tests() { + std::vector<int> arr = { 9, 14, 21, 98, 67 }; + + assert(is_number_on_array(arr, 9) == true); + assert(is_number_on_array(arr, 4) == false); +} + +/** + * @brief Main function + * @returns 0 on exit + */ +int main() { + tests(); // run self-test implementations +} +@endicode + +@subsubsection autotoc_md31 Typical structure of a program @icode{cpp} /** * @file - * @brief Add one line description here. Should contain a Wikipedia + * @brief Add one-line description here. Should contain a Wikipedia * link or another source explaining the algorithm/implementation. * @details * This is a multi-line @@ -172,7 +244,7 @@ Contributor #include /// for `some function here` /** - * @namespace <folder name> + * @namespace * @brief <namespace description> */ namespace name { @@ -232,7 +304,7 @@ int main(int argc, char *argv[]) { } @endicode -@subsubsection autotoc_md31 File Name guidelines +@subsubsection autotoc_md32 File Name guidelines - Use lowercase words with <tt>"_"</tt> as a separator - For instance @@ -246,7 +318,7 @@ my_new_cpp_class.cpp is correct format - File name validation will run on Docker to ensure validity. - If an implementation of the algorithm already exists and your version is different from that implemented, please use incremental numeric digit as a suffix. For example: if <tt>median_search.cpp</tt> already exists in the <tt>search</tt> folder, and you are contributing a new implementation, the filename should be <tt>median_search2.cpp</tt>. For a third implementation, <tt>median_search3.cpp</tt>, and so on. -@subsubsection autotoc_md32 Directory guidelines +@subsubsection autotoc_md33 Directory guidelines - We recommend adding files to existing directories as much as possible. - Use lowercase words with <tt>"_"</tt> as separator ( no spaces or <tt>"-"</tt> allowed ) @@ -260,7 +332,7 @@ some_new_fancy_category is correct - Filepaths will be used to dynamically create a directory of our algorithms. - Filepath validation will run on GitHub Actions to ensure compliance. -@paragraph autotoc_md33 Integrating CMake in a new directory +@paragraph autotoc_md34 Integrating CMake in a new directory In case a new directory is 100% required, <tt>CMakeLists.txt</tt> file in the root directory needs to be updated, and a new <tt>CMakeLists.txt</tt> file needs to be created within the new directory. @@ -294,7 +366,7 @@ add_subdirectory(divide_and_conquer) add_subdirectory(<foldername>) @endicode -@subsubsection autotoc_md34 Commit Guidelines +@subsubsection autotoc_md35 Commit Guidelines - It is recommended to keep your changes grouped logically within individual commits. Maintainers find it easier to understand changes that are logically spilled across multiple commits. Try to modify just one or two files in the same directory. Pull requests that span multiple directories are often rejected. @@ -321,11 +393,11 @@ Common prefixes: - test: Correct existing tests or add new ones - chore: Miscellaneous changes that do not match any of the above. -@subsection autotoc_md35 Pull Requests +@subsection autotoc_md36 Pull Requests - Checkout our <a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/.github/pull_request_template.md" target="_blank" >pull request template</a> -@subsubsection autotoc_md36 Building Locally +@subsubsection autotoc_md37 Building Locally Before submitting a pull request, build the code locally or using the convenient <a href="https://gitpod.io/#https://github.com/TheAlgorithms/C-Plus-Plus" target="_blank" ><img src="https://img.shields.io/badge/Gitpod-Ready--to--Code-blue?logo=gitpod" alt="Gitpod Ready-to-Code"/></a> service. @@ -334,7 +406,7 @@ Before submitting a pull request, cmake -B build -S . @endicode -@subsubsection autotoc_md37 Static Code Analyzer +@subsubsection autotoc_md38 Static Code Analyzer We use <a href="https://clang.llvm.org/extra/clang-tidy/" target="_blank" ><tt>clang-tidy</tt></a> as a static code analyzer with a configuration in <a href="https://github.com/TheAlgorithms/C-Plus-Plus/blob/master/.clang-tidy" target="_blank" ><tt>.clang-tidy</tt></a>. @@ -342,7 +414,7 @@ We use <a href="https://cl clang-tidy --fix --quiet -p build subfolder/file_to_check.cpp -- @endicode -@subsubsection autotoc_md38 Code Formatter +@subsubsection autotoc_md39 Code Formatter <a href="https://clang.llvm.org/docs/ClangFormat.html" target="_blank" ><tt>clang-format</tt></a> is used for code formatting. @@ -353,7 +425,7 @@ clang-tidy --fix --quiet -p build subfolder/file_to_check.cpp -- - Linux (Debian): <tt>sudo apt-get install clang-format-10 clang-tidy-10</tt> - Running (all platforms): <tt>clang-format -i -style="file" my_file.cpp</tt> -@subsubsection autotoc_md39 GitHub Actions +@subsubsection autotoc_md40 GitHub Actions - Enable GitHub Actions on your fork of the repository. After enabling, it will execute <tt>clang-tidy</tt> and <tt>clang-format</tt> after every push (not a commit). diff --git a/d7/d00/list__array_8cpp.html b/d7/d00/list__array_8cpp.html index 14d702d74..1e52b6392 100644 --- a/d7/d00/list__array_8cpp.html +++ b/d7/d00/list__array_8cpp.html @@ -144,7 +144,7 @@ Functions

Detailed Description

Dynamic Array

The list_array is the implementation of list represented using array. We can perform basic CRUD operations as well as other operations like sorting etc.

-

+

Algorithm

It implements various method like insert, sort, search etc. efficiently. You can select the operation and methods will do the rest work for you. You can insert element, sort them in order, search efficiently, delete values and print the list.

Function Documentation

diff --git a/d7/d73/abbreviation_8cpp.html b/d7/d73/abbreviation_8cpp.html index b72a079d7..f8e3b9a6c 100644 --- a/d7/d73/abbreviation_8cpp.html +++ b/d7/d73/abbreviation_8cpp.html @@ -147,7 +147,7 @@ Functions
  • Capitalize zero or more of a's lowercase letters.
  • Delete all of the remaining lowercase letters in a.
  • -

    +

    Algorithm

    The idea is in the problem statement itself: iterate through characters of string a and b (for character indexes i and j respectively):

    1. If a[i] and b[j] are equal, then move to next position
    2. diff --git a/d8/d7a/sha1_8cpp.html b/d8/d7a/sha1_8cpp.html index d11eea073..0fafba1dc 100644 --- a/d8/d7a/sha1_8cpp.html +++ b/d8/d7a/sha1_8cpp.html @@ -157,7 +157,7 @@ Functions

      Simple C++ implementation of the SHA-1 Hashing Algorithm

      Author
      tGautot

      SHA-1 is a cryptographic hash function that was developped by the NSA 1995. SHA-1 is not considered secure since around 2010.

      -

      +

      Algorithm

      The first step of the algorithm is to pad the message for its length to be a multiple of 64 (bytes). This is done by first adding 0x80 (10000000) and then only zeroes until the last 8 bytes must be filled, where then the 64 bit size of the input will be added

      Once this is done, the algo breaks down this padded message into 64 bytes chunks. Each chunk is used for one round, a round breaks the chunk into 16 blocks of 4 bytes. These 16 blocks are then extended to 80 blocks using XOR operations on existing blocks (see code for more details). The algorithm will then update its 160-bit state (here represented used 5 32-bits integer) using partial hashes computed using special functions on the blocks previously built. Please take a look at the wikipedia article for more precision on these operations

      Note
      This is a simple implementation for a byte string but some implmenetations can work on bytestream, messages of unknown length.
      diff --git a/d8/d90/iterative__tree__traversals_8cpp.html b/d8/d90/iterative__tree__traversals_8cpp.html index af5367db6..70d13d9e3 100644 --- a/d8/d90/iterative__tree__traversals_8cpp.html +++ b/d8/d90/iterative__tree__traversals_8cpp.html @@ -164,13 +164,13 @@ Functions

      Detailed Description

      Iterative version of Preorder, Postorder, and preorder [Traversal of the Tree] (https://en.wikipedia.org/wiki/Tree_traversal)

      Author
      Motasim
      -

      +

      Iterative Preorder Traversal of a tree

      Create a Stack that will store the Node of Tree. Push the root node into the stack. Save the root into the variabe named as current, and pop and elemnt from the stack. Store the data of current into the result array, and start traversing from it. Push both the child node of the current node into the stack, first right child then left child. Repeat the same set of steps untill the Stack becomes empty. And return the result array as the preorder traversal of a tree.

      -

      +

      Iterative Postorder Traversal of a tree

      Create a Stack that will store the Node of Tree. Push the root node into the stack. Save the root into the variabe named as current, and pop and elemnt from the stack. Store the data of current into the result array, and start traversing from it. Push both the child node of the current node into the stack, first left child then right child. Repeat the same set of steps untill the Stack becomes empty. Now reverse the result array and then return it to the calling function as a postorder traversal of a tree.

      -

      +

      Iterative Inorder Traversal of a tree

      Create a Stack that will store the Node of Tree. Push the root node into the stack. Save the root into the variabe named as current. Now iterate and take the current to the extreme left of the tree by traversing only to its left. Pop the elemnt from the stack and assign it to the current. Store the data of current into the result array. Repeat the same set of steps until the Stack becomes empty or the current becomes NULL. And return the result array as the inorder traversal of a tree.

      Function Documentation

      diff --git a/d8/d99/connected__components__with__dsu_8cpp.html b/d8/d99/connected__components__with__dsu_8cpp.html index 905127620..2bc3bca1e 100644 --- a/d8/d99/connected__components__with__dsu_8cpp.html +++ b/d8/d99/connected__components__with__dsu_8cpp.html @@ -162,7 +162,7 @@ uint32_t graph::disjoint_u

      Detailed Description

      Disjoint union

      The Disjoint union is the technique to find connected component in graph efficiently.

      -

      +

      Algorithm

      In Graph, if you have to find out the number of connected components, there are 2 options

      1. Depth first search
      2. diff --git a/d8/df0/queue__using__array_8cpp.html b/d8/df0/queue__using__array_8cpp.html index 948f59454..b93c81c68 100644 --- a/d8/df0/queue__using__array_8cpp.html +++ b/d8/df0/queue__using__array_8cpp.html @@ -147,7 +147,7 @@ Variables

        Detailed Description

        Implementation of Linear [Queue using array] (https://www.geeksforgeeks.org/array-implementation-of-queue-simple/).

        The Linear Queue is a data structure used for holding a sequence of values, which can be added to the end line (enqueue), removed from head of line (dequeue) and displayed.

        -

        +

        Algorithm

        Values can be added by increasing the rear variable by 1 (which points to the end of the array), then assigning new value to rear's element of the array.

        Values can be removed by increasing the front variable by 1 (which points to the first of the array), so it cannot reached any more.

        diff --git a/da/d52/minimum__edit__distance_8cpp.html b/da/d52/minimum__edit__distance_8cpp.html index fc2990b7d..756ab649d 100644 --- a/da/d52/minimum__edit__distance_8cpp.html +++ b/da/d52/minimum__edit__distance_8cpp.html @@ -143,7 +143,7 @@ Functions

        Detailed Description

        Implementation of Minimum Edit Distance using Dynamic Programing.

        Given two strings str1 & str2 and we have to calculate the minimum number of operations (Insert, Remove, Replace) required to convert str1 to str2.

        -

        +

        Algorithm

        We will solve this problem using Naive recursion. But as we are approaching with a DP solution. So, we will take a DP array to store the solution of all sub-problems so that we don't have to perform recursion again and again. Now to solve the problem, We can traverse all characters from either right side of the strings or left side. Suppose we will do it from the right side. So, there are two possibilities for every pair of characters being traversed.

        1. If the last characters of two strings are the same, Ignore the characters and get the count for the remaining string. So, we get the solution for lengths m-1 and n-1 in a DP array.
        2. diff --git a/da/dc3/linked__list_8cpp.html b/da/dc3/linked__list_8cpp.html index 431687635..40f65b801 100644 --- a/da/dc3/linked__list_8cpp.html +++ b/da/dc3/linked__list_8cpp.html @@ -143,7 +143,7 @@ Functions

          Detailed Description

          Implementation of singly linked list algorithm.

          The linked list is a data structure used for holding a sequence of values, which can be added, removed and displayed.

          -

          +

          Algorithm

          Values can be added by iterating to the end of a list(by following the pointers) starting from the first link. Whichever link points to null is considered the last link and is pointed to the new value.

          diff --git a/db/d16/0__1__knapsack_8cpp.html b/db/d16/0__1__knapsack_8cpp.html index 99dbaaaed..96808ed82 100644 --- a/db/d16/0__1__knapsack_8cpp.html +++ b/db/d16/0__1__knapsack_8cpp.html @@ -142,7 +142,7 @@ Functions

          Detailed Description

          Implementation of [0-1 Knapsack Problem] (https://en.wikipedia.org/wiki/Knapsack_problem)

          Given weights and values of n items, put these items in a knapsack of capacity W to get the maximum total value in the knapsack. In other words, given two integer arrays val[0..n-1] and wt[0..n-1] which represent values and weights associated with n items respectively. Also given an integer W which represents knapsack capacity, find out the maximum value subset of val[] such that sum of the weights of this subset is smaller than or equal to W. You cannot break an item, either pick the complete item or don’t pick it (0-1 property)

          -

          +

          Algorithm

          The idea is to consider all subsets of items and calculate the total weight and value of all subsets. Consider the only subsets whose total weight is smaller than W. From all such subsets, pick the maximum value subset.

          Author
          Anmol
          diff --git a/db/dca/kadane2_8cpp.html b/db/dca/kadane2_8cpp.html index 4791af90e..e007b54ae 100644 --- a/db/dca/kadane2_8cpp.html +++ b/db/dca/kadane2_8cpp.html @@ -138,7 +138,7 @@ Functions

          Detailed Description

          Implementation of Kadane Algorithm

          Kadane algorithm is used to find the maximum sum subarray in an array and maximum sum subarray problem is the task of finding a contiguous subarray with the largest sum

          -

          +

          Algorithm

          The simple idea of the algorithm is to search for all positive contiguous segments of the array and keep track of maximum sum contiguous segment among all positive segments(curr_sum is used for this) Each time we get a positive sum we compare it with max_sum and update max_sum if it is greater than curr_sum

          Author
          Ayush Singh
          diff --git a/dc/de1/recursive__tree__traversal_8cpp.html b/dc/de1/recursive__tree__traversal_8cpp.html index 0cdbc33a4..d2b987507 100644 --- a/dc/de1/recursive__tree__traversal_8cpp.html +++ b/dc/de1/recursive__tree__traversal_8cpp.html @@ -155,17 +155,17 @@ Functions

          Detailed Description

          Recursive version of Inorder, Preorder, and Postorder [Traversal of the Tree] (https://en.wikipedia.org/wiki/Tree_traversal)

          -

          +

          Iterative Inorder Traversal of a tree

          For traversing a (non-empty) binary tree in an inorder fashion, we must do these three things for every node n starting from the tree’s root:

          (L) Recursively traverse its left subtree. When this step is finished, we are back at n again. (N) Process n itself. (R) Recursively traverse its right subtree. When this step is finished, we are back at n again.

          In normal inorder traversal, we visit the left subtree before the right subtree. If we visit the right subtree before visiting the left subtree, it is referred to as reverse inorder traversal.

          -

          +

          Iterative Preorder Traversal of a tree

          For traversing a (non-empty) binary tree in a preorder fashion, we must do these three things for every node n starting from the tree’s root:

          (N) Process n itself. (L) Recursively traverse its left subtree. When this step is finished, we are back at n again. (R) Recursively traverse its right subtree. When this step is finished, we are back at n again.

          In normal preorder traversal, visit the left subtree before the right subtree. If we visit the right subtree before visiting the left subtree, it is referred to as reverse preorder traversal.

          -

          +

          Iterative Postorder Traversal of a tree

          For traversing a (non-empty) binary tree in a postorder fashion, we must do these three things for every node n starting from the tree’s root:

          (L) Recursively traverse its left subtree. When this step is finished, we are back at n again. (R) Recursively traverse its right subtree. When this step is finished, we are back at n again. (N) Process n itself.

          diff --git a/dd/d47/namespacemath.html b/dd/d47/namespacemath.html index 0032ac58d..cb5348d52 100644 --- a/dd/d47/namespacemath.html +++ b/dd/d47/namespacemath.html @@ -270,7 +270,7 @@ Functions

          for std::cin and std::cout

          Mathematical algorithms

          Given a recurrence relation; evaluate the value of nth term. For e.g., For fibonacci series, recurrence series is f(n) = f(n-1) + f(n-2) where f(0) = 0 and f(1) = 1. Note that the method used only demonstrates recurrence relation with one variable (n), unlike nCr problem, since it has two (n, r)

          -

          +

          Algorithm

          This problem can be solved using matrix exponentiation method.

          See also
          here for simple number exponentiation algorithm or explaination here.
          Author
          Ashish Daulatabad for assert for IO operations for std::vector STL
          diff --git a/df/d66/vector__cross__product_8cpp.html b/df/d66/vector__cross__product_8cpp.html index 227f2aab9..05e5f7ca1 100644 --- a/df/d66/vector__cross__product_8cpp.html +++ b/df/d66/vector__cross__product_8cpp.html @@ -151,7 +151,7 @@ Functions

          The direction ratios (DR) are calculated as follows: 1st DR, J: (b * z) - (c * y) 2nd DR, A: -((a * z) - (c * x)) 3rd DR, N: (a * y) - (b * x)

          Therefore, the direction ratios of the cross product are: J, A, N The following C++ Program calculates the direction ratios of the cross products of two vector. The program uses a function, cross() for doing so. The direction ratios for the first and the second vector has to be passed one by one seperated by a space character.

          Magnitude of a vector is the square root of the sum of the squares of the direction ratios.

          -

          +

          Example:

          An example of a running instance of the executable program:

          Pass the first Vector: 1 2 3
           

          Pass the second Vector: 4 5 6 The cross product is: -3 6 -3 Magnitude: 7.34847

          diff --git a/index.html b/index.html index 32ece31da..84f46f03a 100644 --- a/index.html +++ b/index.html @@ -102,10 +102,10 @@ $(document).ready(function(){initNavTree('index.html',''); initResizable(); });

          Gitpod Ready-to-Code CodeQL CI Gitter chat contributions welcome GitHub repo size Doxygen CI Awesome CI Income Discord chat Donate

          -

          +

          Overview

          This repository is a collection of open-source implementation of a variety of algorithms implemented in C++ and licensed under MIT License. These algorithms span a variety of topics from computer science, mathematics and statistics, data science, machine learning, engineering, etc.. The implementations and the associated documentation are meant to provide a learning resource for educators and students. Hence, one may find more than one implementation for the same objective but using a different algorithm strategies and optimizations.

          -

          +

          Features

          • The repository provides implementations of various algorithms in one of the most fundamental general purpose languages - C++.
          • @@ -116,12 +116,12 @@ Features
          • Self-checks within programs ensure correct implementations with confidence.
          • Modular implementations and OpenSource licensing enable the functions to be utilized conveniently in other applications.
          -

          +

          Documentation

          Online Documentation is generated from the repository source codes directly. The documentation contains all resources including source code snippets, details on execution of the programs, diagrammatic representation of program flow, and links to external resources where necessary. The documentation also introduces interactive source code with links to documentation for C++ STL library functions used. Click on Files menu to see the list of all the files documented with the code.

          Documentation of Algorithms in C++ by The Algorithms Contributors is licensed under CC BY-SA 4.0
          Creative Commons LicenseCredit must be given to the creatorAdaptations must be shared under the same terms

          -

          +

          Contributions

          As a community developed and maintained repository, we welcome new un-plagiarized quality contributions. Please read our Contribution Guidelines.

          diff --git a/index.js b/index.js index 5e4acca2d..993ba4043 100644 --- a/index.js +++ b/index.js @@ -1,7 +1,7 @@ var index = [ - [ "Overview", "index.html#autotoc_md102", null ], - [ "Features", "index.html#autotoc_md103", null ], - [ "Documentation", "index.html#autotoc_md104", null ], - [ "Contributions", "index.html#autotoc_md105", null ] + [ "Overview", "index.html#autotoc_md103", null ], + [ "Features", "index.html#autotoc_md104", null ], + [ "Documentation", "index.html#autotoc_md105", null ], + [ "Contributions", "index.html#autotoc_md106", null ] ]; \ No newline at end of file diff --git a/navtreedata.js b/navtreedata.js index 54ec3b896..7542edeba 100644 --- a/navtreedata.js +++ b/navtreedata.js @@ -52,45 +52,47 @@ var NAVTREE = [ "Making Changes", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md26", [ [ "Code", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md27", null ], [ "Documentation", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md28", null ], - [ "Test", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md29", null ], - [ "Typical structure of a program", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md30", null ], - [ "File Name guidelines", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31", null ], - [ "Directory guidelines", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md32", [ - [ "Integrating CMake in a new directory", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md33", null ] + [ "Test", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md29", [ + [ "Self-test examples", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md30", null ] ] ], - [ "Commit Guidelines", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34", null ] + [ "Typical structure of a program", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31", null ], + [ "File Name guidelines", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md32", null ], + [ "Directory guidelines", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md33", [ + [ "Integrating CMake in a new directory", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34", null ] + ] ], + [ "Commit Guidelines", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md35", null ] ] ], - [ "Pull Requests", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md35", [ - [ "Building Locally", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md36", null ], - [ "Static Code Analyzer", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md37", null ], - [ "Code Formatter", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md38", null ], - [ "GitHub Actions", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md39", null ] + [ "Pull Requests", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md36", [ + [ "Building Locally", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md37", null ], + [ "Static Code Analyzer", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md38", null ], + [ "Code Formatter", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md39", null ], + [ "GitHub Actions", "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md40", null ] ] ] ] ] ] ], [ "Backtracking", "d5/d88/md__d_i_r_e_c_t_o_r_y.html", [ - [ "Bit Manipulation", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md45", null ], - [ "Ciphers", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md46", null ], - [ "Cpu Scheduling Algorithms", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md47", null ], - [ "Data Structures", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md48", null ], - [ "Divide And Conquer", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md49", null ], - [ "Dynamic Programming", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md50", null ], - [ "Geometry", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md51", null ], - [ "Graph", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md52", null ], - [ "Graphics", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md53", null ], - [ "Greedy Algorithms", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md54", null ], - [ "Hashing", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md55", null ], - [ "Machine Learning", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md56", null ], - [ "Math", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md57", null ], - [ "Numerical Methods", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md58", null ], - [ "Operations On Datastructures", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md59", null ], - [ "Others", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md60", null ], - [ "Physics", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md61", null ], - [ "Probability", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md62", null ], - [ "Range Queries", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md63", null ], - [ "Search", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md64", null ], - [ "Sorting", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md65", null ], - [ "Strings", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md66", null ] + [ "Bit Manipulation", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md46", null ], + [ "Ciphers", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md47", null ], + [ "Cpu Scheduling Algorithms", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md48", null ], + [ "Data Structures", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md49", null ], + [ "Divide And Conquer", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md50", null ], + [ "Dynamic Programming", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md51", null ], + [ "Geometry", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md52", null ], + [ "Graph", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md53", null ], + [ "Graphics", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md54", null ], + [ "Greedy Algorithms", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md55", null ], + [ "Hashing", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md56", null ], + [ "Machine Learning", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md57", null ], + [ "Math", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md58", null ], + [ "Numerical Methods", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md59", null ], + [ "Operations On Datastructures", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md60", null ], + [ "Others", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md61", null ], + [ "Physics", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md62", null ], + [ "Probability", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md63", null ], + [ "Range Queries", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md64", null ], + [ "Search", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md65", null ], + [ "Sorting", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md66", null ], + [ "Strings", "d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md67", null ] ] ], [ "Prime factorization", "d7/d7f/section.html", null ], [ "Guidelines for reviewers and maintainers", "dc/db4/md__r_e_v_i_e_w_e_r__c_o_d_e.html", null ], @@ -140,13 +142,13 @@ var NAVTREEINDEX = "d3/d40/graph__coloring_8cpp.html#gae66f6b31b5ad750f1fe042a706a4e3d4", "d4/d9c/primes__up__to__billion_8cpp.html#a031cada84819ed6426f58e4f7e81261c", "d6/d04/classdata__structures_1_1queue__using__array_1_1_queue___array.html#a9883dfcceede9a42227d2d313ae86f85", -"d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec", -"d8/d95/vector__ops_8hpp.html#a0cc29566568e0383dd7d374068cbe6b3", -"d9/dc9/namespacebase64__encoding.html", -"db/d0d/prime__factorization_8cpp.html#affe577b9bce8f604f5e2f861c63c7099", -"dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19", -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa73857052e69b86347859d9148933f71", -"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#a17f3d667241b88115a95282cdd719cb2" +"d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258", +"d8/d95/vector__ops_8hpp.html", +"d9/dae/classdata__structures_1_1_bitset.html#ae86688cf99b77342deedb75149573e73", +"db/d0d/prime__factorization_8cpp.html#af097796783684712b8326e5b82bfd4fe", +"dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a", +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa5c0486c7f29f323a2aced2ab33af420", +"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html" ]; var SYNCONMSG = 'click to disable panel synchronisation'; diff --git a/navtreeindex0.js b/navtreeindex0.js index f7a91fd9e..20dea8ec2 100644 --- a/navtreeindex0.js +++ b/navtreeindex0.js @@ -93,29 +93,29 @@ var NAVTREEINDEX0 = "cpp/algorithm/unique.html":[9,0,110,475], "cpp/algorithm/unique_copy.html":[9,0,110,476], "cpp/algorithm/upper_bound.html":[9,0,110,478], -"cpp/atomic/atomic_compare_exchange.html":[9,0,110,42], -"cpp/atomic/atomic_compare_exchange.html":[9,0,110,41], -"cpp/atomic/atomic_compare_exchange.html":[9,0,110,40], "cpp/atomic/atomic_compare_exchange.html":[9,0,110,39], +"cpp/atomic/atomic_compare_exchange.html":[9,0,110,42], +"cpp/atomic/atomic_compare_exchange.html":[9,0,110,40], +"cpp/atomic/atomic_compare_exchange.html":[9,0,110,41], "cpp/atomic/atomic_exchange.html":[9,0,110,43], "cpp/atomic/atomic_exchange.html":[9,0,110,44], -"cpp/atomic/atomic_fetch_add.html":[9,0,110,45], "cpp/atomic/atomic_fetch_add.html":[9,0,110,46], +"cpp/atomic/atomic_fetch_add.html":[9,0,110,45], "cpp/atomic/atomic_fetch_or.html":[9,0,110,50], "cpp/atomic/atomic_fetch_or.html":[9,0,110,49], -"cpp/atomic/atomic_fetch_sub.html":[9,0,110,47], "cpp/atomic/atomic_fetch_sub.html":[9,0,110,52], -"cpp/atomic/atomic_fetch_sub.html":[9,0,110,51], "cpp/atomic/atomic_fetch_sub.html":[9,0,110,48], -"cpp/atomic/atomic_fetch_xor.html":[9,0,110,53], +"cpp/atomic/atomic_fetch_sub.html":[9,0,110,47], +"cpp/atomic/atomic_fetch_sub.html":[9,0,110,51], "cpp/atomic/atomic_fetch_xor.html":[9,0,110,54], +"cpp/atomic/atomic_fetch_xor.html":[9,0,110,53], "cpp/atomic/atomic_init.html":[9,0,110,55], "cpp/atomic/atomic_is_lock_free.html":[9,0,110,56], "cpp/atomic/atomic_load.html":[9,0,110,58], "cpp/atomic/atomic_load.html":[9,0,110,57], "cpp/atomic/atomic_signal_fence.html":[9,0,110,59], -"cpp/atomic/atomic_store.html":[9,0,110,61], "cpp/atomic/atomic_store.html":[9,0,110,60], +"cpp/atomic/atomic_store.html":[9,0,110,61], "cpp/atomic/atomic_thread_fence.html":[9,0,110,62], "cpp/atomic/kill_dependency.html":[9,0,110,235], "cpp/chrono/c/asctime.html":[9,0,110,26], @@ -150,17 +150,17 @@ var NAVTREEINDEX0 = "cpp/io/c/feof.html":[9,0,110,119], "cpp/io/c/ferror.html":[9,0,110,121], "cpp/io/c/fflush.html":[9,0,110,127], -"cpp/io/c/fgetc.html":[9,0,110,181], "cpp/io/c/fgetc.html":[9,0,110,128], +"cpp/io/c/fgetc.html":[9,0,110,181], "cpp/io/c/fgetpos.html":[9,0,110,129], "cpp/io/c/fgets.html":[9,0,110,130], "cpp/io/c/fgetwc.html":[9,0,110,131], "cpp/io/c/fgetws.html":[9,0,110,132], "cpp/io/c/fopen.html":[9,0,110,147], -"cpp/io/c/fprintf.html":[9,0,110,397], "cpp/io/c/fprintf.html":[9,0,110,394], -"cpp/io/c/fprintf.html":[9,0,110,152], +"cpp/io/c/fprintf.html":[9,0,110,397], "cpp/io/c/fprintf.html":[9,0,110,323], +"cpp/io/c/fprintf.html":[9,0,110,152], "cpp/io/c/fputc.html":[9,0,110,153], "cpp/io/c/fputc.html":[9,0,110,327], "cpp/io/c/fputs.html":[9,0,110,154], @@ -168,19 +168,19 @@ var NAVTREEINDEX0 = "cpp/io/c/fputws.html":[9,0,110,156], "cpp/io/c/fread.html":[9,0,110,157], "cpp/io/c/freopen.html":[9,0,110,159], +"cpp/io/c/fscanf.html":[9,0,110,400], "cpp/io/c/fscanf.html":[9,0,110,162], "cpp/io/c/fscanf.html":[9,0,110,366], -"cpp/io/c/fscanf.html":[9,0,110,400], "cpp/io/c/fseek.html":[9,0,110,163], "cpp/io/c/fsetpos.html":[9,0,110,164], "cpp/io/c/ftell.html":[9,0,110,165], +"cpp/io/c/fwprintf.html":[9,0,110,531], "cpp/io/c/fwprintf.html":[9,0,110,441], "cpp/io/c/fwprintf.html":[9,0,110,167], -"cpp/io/c/fwprintf.html":[9,0,110,531], "cpp/io/c/fwrite.html":[9,0,110,168], "cpp/io/c/fwscanf.html":[9,0,110,533], -"cpp/io/c/fwscanf.html":[9,0,110,442], "cpp/io/c/fwscanf.html":[9,0,110,169], +"cpp/io/c/fwscanf.html":[9,0,110,442], "cpp/io/c/getchar.html":[9,0,110,182], "cpp/io/c/gets.html":[9,0,110,185], "cpp/io/c/getwchar.html":[9,0,110,186], @@ -197,35 +197,35 @@ var NAVTREEINDEX0 = "cpp/io/c/ungetc.html":[9,0,110,469], "cpp/io/c/ungetwc.html":[9,0,110,470], "cpp/io/c/vfprintf.html":[9,0,110,487], -"cpp/io/c/vfprintf.html":[9,0,110,488], "cpp/io/c/vfprintf.html":[9,0,110,485], "cpp/io/c/vfprintf.html":[9,0,110,481], -"cpp/io/c/vfscanf.html":[9,0,110,486], +"cpp/io/c/vfprintf.html":[9,0,110,488], "cpp/io/c/vfscanf.html":[9,0,110,489], +"cpp/io/c/vfscanf.html":[9,0,110,486], "cpp/io/c/vfscanf.html":[9,0,110,482], -"cpp/io/c/vfwprintf.html":[9,0,110,490], "cpp/io/c/vfwprintf.html":[9,0,110,483], +"cpp/io/c/vfwprintf.html":[9,0,110,490], "cpp/io/c/vfwprintf.html":[9,0,110,492], -"cpp/io/c/vfwscanf.html":[9,0,110,484], "cpp/io/c/vfwscanf.html":[9,0,110,491], +"cpp/io/c/vfwscanf.html":[9,0,110,484], "cpp/io/c/vfwscanf.html":[9,0,110,493], "cpp/io/manip/boolalpha.html":[9,0,110,299], "cpp/io/manip/boolalpha.html":[9,0,110,67], "cpp/io/manip/endl.html":[9,0,110,101], "cpp/io/manip/ends.html":[9,0,110,102], -"cpp/io/manip/fixed.html":[9,0,110,140], "cpp/io/manip/fixed.html":[9,0,110,95], +"cpp/io/manip/fixed.html":[9,0,110,140], "cpp/io/manip/fixed.html":[9,0,110,190], "cpp/io/manip/fixed.html":[9,0,110,367], "cpp/io/manip/flush.html":[9,0,110,142], "cpp/io/manip/get_money.html":[9,0,110,174], "cpp/io/manip/get_time.html":[9,0,110,179], +"cpp/io/manip/hex.html":[9,0,110,311], "cpp/io/manip/hex.html":[9,0,110,189], "cpp/io/manip/hex.html":[9,0,110,91], -"cpp/io/manip/hex.html":[9,0,110,311], "cpp/io/manip/left.html":[9,0,110,239], -"cpp/io/manip/left.html":[9,0,110,197], "cpp/io/manip/left.html":[9,0,110,359], +"cpp/io/manip/left.html":[9,0,110,197], "cpp/io/manip/put_money.html":[9,0,110,325], "cpp/io/manip/put_time.html":[9,0,110,326], "cpp/io/manip/resetiosflags.html":[9,0,110,352], @@ -236,16 +236,16 @@ var NAVTREEINDEX0 = "cpp/io/manip/setw.html":[9,0,110,384], "cpp/io/manip/showbase.html":[9,0,110,301], "cpp/io/manip/showbase.html":[9,0,110,385], -"cpp/io/manip/showpoint.html":[9,0,110,386], "cpp/io/manip/showpoint.html":[9,0,110,302], +"cpp/io/manip/showpoint.html":[9,0,110,386], "cpp/io/manip/showpos.html":[9,0,110,303], "cpp/io/manip/showpos.html":[9,0,110,387], "cpp/io/manip/skipws.html":[9,0,110,393], "cpp/io/manip/skipws.html":[9,0,110,304], -"cpp/io/manip/unitbuf.html":[9,0,110,308], "cpp/io/manip/unitbuf.html":[9,0,110,477], -"cpp/io/manip/uppercase.html":[9,0,110,479], +"cpp/io/manip/unitbuf.html":[9,0,110,308], "cpp/io/manip/uppercase.html":[9,0,110,309], +"cpp/io/manip/uppercase.html":[9,0,110,479], "cpp/io/manip/ws.html":[9,0,110,532], "cpp/iterator/advance.html":[9,0,110,21], "cpp/iterator/back_inserter.html":[9,0,110,63], diff --git a/navtreeindex1.js b/navtreeindex1.js index bba89b5b2..580a5d34d 100644 --- a/navtreeindex1.js +++ b/navtreeindex1.js @@ -28,16 +28,16 @@ var NAVTREEINDEX1 = "cpp/memory/return_temporary_buffer.html":[9,0,110,355], "cpp/memory/shared_ptr/allocate_shared.html":[9,0,110,24], "cpp/memory/shared_ptr/make_shared.html":[9,0,110,260], +"cpp/memory/shared_ptr/pointer_cast.html":[9,0,110,99], "cpp/memory/shared_ptr/pointer_cast.html":[9,0,110,78], "cpp/memory/shared_ptr/pointer_cast.html":[9,0,110,403], -"cpp/memory/shared_ptr/pointer_cast.html":[9,0,110,99], "cpp/memory/uninitialized_copy.html":[9,0,110,471], "cpp/memory/uninitialized_copy_n.html":[9,0,110,472], "cpp/memory/uninitialized_fill.html":[9,0,110,473], "cpp/memory/uninitialized_fill_n.html":[9,0,110,474], "cpp/numeric/fenv/feclearexcept.html":[9,0,110,114], -"cpp/numeric/fenv/feenv.html":[9,0,110,122], "cpp/numeric/fenv/feenv.html":[9,0,110,115], +"cpp/numeric/fenv/feenv.html":[9,0,110,122], "cpp/numeric/fenv/feexceptflag.html":[9,0,110,116], "cpp/numeric/fenv/feexceptflag.html":[9,0,110,123], "cpp/numeric/fenv/feholdexcept.html":[9,0,110,118], @@ -46,9 +46,9 @@ var NAVTREEINDEX1 = "cpp/numeric/fenv/feround.html":[9,0,110,124], "cpp/numeric/fenv/fetestexcept.html":[9,0,110,125], "cpp/numeric/fenv/feupdateenv.html":[9,0,110,126], -"cpp/numeric/math/abs.html":[9,0,110,242], -"cpp/numeric/math/abs.html":[9,0,110,236], "cpp/numeric/math/abs.html":[9,0,110,14], +"cpp/numeric/math/abs.html":[9,0,110,236], +"cpp/numeric/math/abs.html":[9,0,110,242], "cpp/numeric/math/acos.html":[9,0,110,16], "cpp/numeric/math/acosh.html":[9,0,110,17], "cpp/numeric/math/asin.html":[9,0,110,27], @@ -68,8 +68,8 @@ var NAVTREEINDEX1 = "cpp/numeric/math/exp.html":[9,0,110,108], "cpp/numeric/math/exp2.html":[9,0,110,109], "cpp/numeric/math/expm1.html":[9,0,110,110], -"cpp/numeric/math/fabs.html":[9,0,110,111], "cpp/numeric/math/fabs.html":[9,0,110,13], +"cpp/numeric/math/fabs.html":[9,0,110,111], "cpp/numeric/math/fdim.html":[9,0,110,113], "cpp/numeric/math/floor.html":[9,0,110,141], "cpp/numeric/math/fma.html":[9,0,110,143], @@ -91,23 +91,23 @@ var NAVTREEINDEX1 = "cpp/numeric/math/log1p.html":[9,0,110,250], "cpp/numeric/math/logb.html":[9,0,110,251], "cpp/numeric/math/modf.html":[9,0,110,287], -"cpp/numeric/math/nan.html":[9,0,110,292], -"cpp/numeric/math/nan.html":[9,0,110,291], "cpp/numeric/math/nan.html":[9,0,110,293], +"cpp/numeric/math/nan.html":[9,0,110,291], +"cpp/numeric/math/nan.html":[9,0,110,292], "cpp/numeric/math/nearbyint.html":[9,0,110,294], -"cpp/numeric/math/nextafter.html":[9,0,110,297], "cpp/numeric/math/nextafter.html":[9,0,110,298], +"cpp/numeric/math/nextafter.html":[9,0,110,297], "cpp/numeric/math/pow.html":[9,0,110,320], "cpp/numeric/math/remainder.html":[9,0,110,341], "cpp/numeric/math/remquo.html":[9,0,110,346], -"cpp/numeric/math/rint.html":[9,0,110,360], "cpp/numeric/math/rint.html":[9,0,110,243], "cpp/numeric/math/rint.html":[9,0,110,254], -"cpp/numeric/math/round.html":[9,0,110,244], -"cpp/numeric/math/round.html":[9,0,110,255], +"cpp/numeric/math/rint.html":[9,0,110,360], "cpp/numeric/math/round.html":[9,0,110,363], -"cpp/numeric/math/scalbn.html":[9,0,110,364], +"cpp/numeric/math/round.html":[9,0,110,255], +"cpp/numeric/math/round.html":[9,0,110,244], "cpp/numeric/math/scalbn.html":[9,0,110,365], +"cpp/numeric/math/scalbn.html":[9,0,110,364], "cpp/numeric/math/signbit.html":[9,0,110,390], "cpp/numeric/math/sin.html":[9,0,110,391], "cpp/numeric/math/sinh.html":[9,0,110,392], @@ -123,11 +123,11 @@ var NAVTREEINDEX1 = "cpp/regex/regex_replace.html":[9,0,110,339], "cpp/regex/regex_search.html":[9,0,110,340], "cpp/string/basic_string/getline.html":[9,0,110,184], -"cpp/string/basic_string/stof.html":[9,0,110,405], -"cpp/string/basic_string/stof.html":[9,0,110,404], "cpp/string/basic_string/stof.html":[9,0,110,408], -"cpp/string/basic_string/stol.html":[9,0,110,407], +"cpp/string/basic_string/stof.html":[9,0,110,404], +"cpp/string/basic_string/stof.html":[9,0,110,405], "cpp/string/basic_string/stol.html":[9,0,110,406], +"cpp/string/basic_string/stol.html":[9,0,110,407], "cpp/string/basic_string/stol.html":[9,0,110,409], "cpp/string/basic_string/stoul.html":[9,0,110,410], "cpp/string/basic_string/stoul.html":[9,0,110,411], @@ -135,8 +135,8 @@ var NAVTREEINDEX1 = "cpp/string/basic_string/to_wstring.html":[9,0,110,455], "cpp/string/byte/atof.html":[9,0,110,35], "cpp/string/byte/atoi.html":[9,0,110,36], -"cpp/string/byte/atoi.html":[9,0,110,37], "cpp/string/byte/atoi.html":[9,0,110,38], +"cpp/string/byte/atoi.html":[9,0,110,37], "cpp/string/byte/isalnum.html":[9,0,110,205], "cpp/string/byte/isalpha.html":[9,0,110,206], "cpp/string/byte/isblank.html":[9,0,110,207], @@ -169,11 +169,11 @@ var NAVTREEINDEX1 = "cpp/string/byte/strrchr.html":[9,0,110,425], "cpp/string/byte/strspn.html":[9,0,110,426], "cpp/string/byte/strstr.html":[9,0,110,427], -"cpp/string/byte/strtof.html":[9,0,110,433], "cpp/string/byte/strtof.html":[9,0,110,429], "cpp/string/byte/strtof.html":[9,0,110,428], -"cpp/string/byte/strtoimax.html":[9,0,110,437], +"cpp/string/byte/strtof.html":[9,0,110,433], "cpp/string/byte/strtoimax.html":[9,0,110,430], +"cpp/string/byte/strtoimax.html":[9,0,110,437], "cpp/string/byte/strtok.html":[9,0,110,431], "cpp/string/byte/strtol.html":[9,0,110,434], "cpp/string/byte/strtol.html":[9,0,110,432], @@ -228,9 +228,9 @@ var NAVTREEINDEX1 = "cpp/string/wide/wcsrchr.html":[9,0,110,507], "cpp/string/wide/wcsspn.html":[9,0,110,508], "cpp/string/wide/wcsstr.html":[9,0,110,509], -"cpp/string/wide/wcstof.html":[9,0,110,510], "cpp/string/wide/wcstof.html":[9,0,110,515], "cpp/string/wide/wcstof.html":[9,0,110,511], +"cpp/string/wide/wcstof.html":[9,0,110,510], "cpp/string/wide/wcstoimax.html":[9,0,110,512], "cpp/string/wide/wcstoimax.html":[9,0,110,520], "cpp/string/wide/wcstok.html":[9,0,110,513], diff --git a/navtreeindex10.js b/navtreeindex10.js index 65bcfc7b4..a4f23743e 100644 --- a/navtreeindex10.js +++ b/navtreeindex10.js @@ -1,5 +1,6 @@ var NAVTREEINDEX10 = { +"db/d0d/prime__factorization_8cpp.html#af097796783684712b8326e5b82bfd4fe":[11,0,13,46,5], "db/d0d/prime__factorization_8cpp.html#affe577b9bce8f604f5e2f861c63c7099":[11,0,13,46,2], "db/d16/0__1__knapsack_8cpp.html":[11,0,6,0], "db/d16/0__1__knapsack_8cpp.html#a15edf30f336885e5b851f6b7199c6cd1":[11,0,6,0,1], @@ -248,6 +249,5 @@ var NAVTREEINDEX10 = "dc/d61/classgraph_1_1_graph.html":[9,0,34,0], "dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981":[9,0,34,0,2], "dc/d61/classgraph_1_1_graph.html#a3755ec9e6a842238c7f4aac10b661981":[10,0,5,1,2], -"dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a":[10,0,5,1,5], -"dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a":[9,0,34,0,5] +"dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a":[10,0,5,1,5] }; diff --git a/navtreeindex11.js b/navtreeindex11.js index 88a41e8cf..cbc21d719 100644 --- a/navtreeindex11.js +++ b/navtreeindex11.js @@ -1,5 +1,6 @@ var NAVTREEINDEX11 = { +"dc/d61/classgraph_1_1_graph.html#a59940c462861f2fcf4951d1b6c084e6a":[9,0,34,0,5], "dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19":[9,0,34,0,1], "dc/d61/classgraph_1_1_graph.html#a877b2cba40d8d46dde6fb4209effed19":[10,0,5,1,1], "dc/d61/classgraph_1_1_graph.html#a8839fa14bff19d2deab4a618447c13e5":[10,0,5,1,0], @@ -248,6 +249,5 @@ var NAVTREEINDEX11 = "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a64815f10cf9fb9fdb4cc92731ccf10ba":[10,0,7,0,1,11], "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a94f794bf44f424b1b0ca6ef9f4f6ebd3":[10,0,7,0,1,5], "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#a9517e162e2988f7db052296bd550a742":[10,0,7,0,1,16], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa17e0227321b109ed91e156ac1332915":[10,0,7,0,1,15], -"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa5c0486c7f29f323a2aced2ab33af420":[10,0,7,0,1,7] +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa17e0227321b109ed91e156ac1332915":[10,0,7,0,1,15] }; diff --git a/navtreeindex12.js b/navtreeindex12.js index b0f0bda63..cef924f07 100644 --- a/navtreeindex12.js +++ b/navtreeindex12.js @@ -1,5 +1,6 @@ var NAVTREEINDEX12 = { +"dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa5c0486c7f29f323a2aced2ab33af420":[10,0,7,0,1,7], "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#aa73857052e69b86347859d9148933f71":[10,0,7,0,1,17], "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ab7fd890a7ccf756e4b3313087b76a8c2":[10,0,7,0,1,1], "dd/d9c/classmachine__learning_1_1aystar__search_1_1_eight_puzzle.html#ad45fde095ac00effe1fe00b1d85ff9c7":[10,0,7,0,1,2], @@ -248,6 +249,5 @@ var NAVTREEINDEX12 = "df/d66/vector__cross__product_8cpp.html#a225732399c5c076976eae5b180a9f8c9":[11,0,13,55,0], "df/d66/vector__cross__product_8cpp.html#a4b2a9757a87c18e1642d72410ecfaba8":[11,0,13,55,1], "df/d66/vector__cross__product_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,13,55,3], -"df/d66/vector__cross__product_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,13,55,2], -"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html":[9,0,12,0] +"df/d66/vector__cross__product_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,13,55,2] }; diff --git a/navtreeindex13.js b/navtreeindex13.js index 5a02d9def..56fdaef8a 100644 --- a/navtreeindex13.js +++ b/navtreeindex13.js @@ -1,5 +1,6 @@ var NAVTREEINDEX13 = { +"df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html":[9,0,12,0], "df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#a17f3d667241b88115a95282cdd719cb2":[9,0,12,0,4], "df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#ac00616a4e40d3cd5cfb4da87d9ff9af0":[9,0,12,0,3], "df/d6b/namespaceciphers_1_1elliptic__curve__key__exchange.html#acc5fe9c2032fb7582c38a20d1fa69bcf":[9,0,12,0,2], @@ -190,10 +191,10 @@ var NAVTREEINDEX13 = "hierarchy.html":[10,2], "index.html":[], "index.html":[0], -"index.html#autotoc_md102":[0,0], -"index.html#autotoc_md103":[0,1], -"index.html#autotoc_md104":[0,2], -"index.html#autotoc_md105":[0,3], +"index.html#autotoc_md103":[0,0], +"index.html#autotoc_md104":[0,1], +"index.html#autotoc_md105":[0,2], +"index.html#autotoc_md106":[0,3], "modules.html":[8], "namespacemembers.html":[9,1,0], "namespacemembers_func.html":[9,1,1], diff --git a/navtreeindex2.js b/navtreeindex2.js index d903aeed5..35b3d3b06 100644 --- a/navtreeindex2.js +++ b/navtreeindex2.js @@ -28,10 +28,10 @@ var NAVTREEINDEX2 = "cpp/utility/program/raise.html":[9,0,110,333], "cpp/utility/program/signal.html":[9,0,110,389], "cpp/utility/program/system.html":[9,0,110,443], -"cpp/utility/rel_ops/operator_cmp.html":[9,0,110,3,2], -"cpp/utility/rel_ops/operator_cmp.html":[9,0,110,3,1], -"cpp/utility/rel_ops/operator_cmp.html":[9,0,110,3,3], "cpp/utility/rel_ops/operator_cmp.html":[9,0,110,3,0], +"cpp/utility/rel_ops/operator_cmp.html":[9,0,110,3,3], +"cpp/utility/rel_ops/operator_cmp.html":[9,0,110,3,1], +"cpp/utility/rel_ops/operator_cmp.html":[9,0,110,3,2], "cpp/utility/tuple/forward_as_tuple.html":[9,0,110,150], "cpp/utility/tuple/make_tuple.html":[9,0,110,261], "cpp/utility/tuple/tie.html":[9,0,110,450], @@ -55,16 +55,16 @@ var NAVTREEINDEX2 = "d0/d3e/classdata__structures_1_1trie.html":[9,0,20,4], "d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546":[9,0,20,4,3], "d0/d3e/classdata__structures_1_1trie.html#a0ab94bc6417e3f59fab33cea5b64d546":[10,0,1,11,3], -"d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b":[9,0,20,4,6], "d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b":[10,0,1,11,6], +"d0/d3e/classdata__structures_1_1trie.html#a362dd78748a1f01ab019e55fd6098a8b":[9,0,20,4,6], "d0/d3e/classdata__structures_1_1trie.html#a499f87fd833203ef9492b4870aa6d42d":[10,0,1,11,5], "d0/d3e/classdata__structures_1_1trie.html#a499f87fd833203ef9492b4870aa6d42d":[9,0,20,4,5], "d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191":[9,0,20,4,8], "d0/d3e/classdata__structures_1_1trie.html#a4bfac4be6ed1a34c7159eddb42469191":[10,0,1,11,8], -"d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6":[10,0,1,11,7], "d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6":[9,0,20,4,7], -"d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8":[10,0,1,11,0], +"d0/d3e/classdata__structures_1_1trie.html#a4cb0f775b5a4bc14a6d39b5c93883eb6":[10,0,1,11,7], "d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8":[9,0,20,4,0], +"d0/d3e/classdata__structures_1_1trie.html#a87d8bf99aea936f9381141753f1e90a8":[10,0,1,11,0], "d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63":[10,0,1,11,4], "d0/d3e/classdata__structures_1_1trie.html#a961eb5d576d2420f2036009154397c63":[9,0,20,4,4], "d0/d3e/classdata__structures_1_1trie.html#aab373beb3f618b90922528c68797d988":[10,0,1,11,1], @@ -81,18 +81,18 @@ var NAVTREEINDEX2 = "d0/d51/approximate__pi_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,13,1,3], "d0/d51/approximate__pi_8cpp.html#abf7f2a6d91f1ca6c89698792aea3f188":[11,0,13,1,1], "d0/d52/namespacewiggle__sort.html":[9,0,129], -"d0/d58/classgraph_1_1_rooted_tree.html":[10,0,5,4], "d0/d58/classgraph_1_1_rooted_tree.html":[9,0,34,3], +"d0/d58/classgraph_1_1_rooted_tree.html":[10,0,5,4], "d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3":[9,0,34,3,2], "d0/d58/classgraph_1_1_rooted_tree.html#a2ee3ad1161ac2532da30c3e22c265ad3":[10,0,5,4,2], "d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43":[10,0,5,4,3], "d0/d58/classgraph_1_1_rooted_tree.html#a3831583a91914988897a4cc8748fda43":[9,0,34,3,3], -"d0/d58/classgraph_1_1_rooted_tree.html#aacdeecac857623e9fbfe92590f3c504d":[9,0,34,3,0], "d0/d58/classgraph_1_1_rooted_tree.html#aacdeecac857623e9fbfe92590f3c504d":[10,0,5,4,0], -"d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe":[9,0,34,3,4], +"d0/d58/classgraph_1_1_rooted_tree.html#aacdeecac857623e9fbfe92590f3c504d":[9,0,34,3,0], "d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe":[10,0,5,4,4], -"d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e":[10,0,5,4,1], +"d0/d58/classgraph_1_1_rooted_tree.html#ab22a97bf6209a085fc2d788c3c0dacbe":[9,0,34,3,4], "d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e":[9,0,34,3,1], +"d0/d58/classgraph_1_1_rooted_tree.html#ae6928f3ebd491541e9570e746b877c1e":[10,0,5,4,1], "d0/d5a/skip__list_8cpp.html":[11,0,4,17], "d0/d5a/skip__list_8cpp.html#a903639d8e6f955dd8d5c263781455d61":[11,0,4,17,4], "d0/d5a/skip__list_8cpp.html#ac0d7e0be24da9f41bcb19745873c436a":[11,0,4,17,3], diff --git a/navtreeindex4.js b/navtreeindex4.js index f720a8321..37c511b10 100644 --- a/navtreeindex4.js +++ b/navtreeindex4.js @@ -227,22 +227,22 @@ var NAVTREEINDEX4 = "d4/d8f/travelling__salesman__using__bit__manipulation_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,1,7,0], "d4/d90/classdata__structures_1_1_skip_list.html":[9,0,20,3], "d4/d90/classdata__structures_1_1_skip_list.html":[10,0,1,10], -"d4/d90/classdata__structures_1_1_skip_list.html#a3e249c2c35a8b7f5ffd2d77fee60d650":[10,0,1,10,7], "d4/d90/classdata__structures_1_1_skip_list.html#a3e249c2c35a8b7f5ffd2d77fee60d650":[9,0,20,3,7], +"d4/d90/classdata__structures_1_1_skip_list.html#a3e249c2c35a8b7f5ffd2d77fee60d650":[10,0,1,10,7], "d4/d90/classdata__structures_1_1_skip_list.html#a40a4042bdf0b6683b5f21ae7854de8a9":[9,0,20,3,3], "d4/d90/classdata__structures_1_1_skip_list.html#a40a4042bdf0b6683b5f21ae7854de8a9":[10,0,1,10,3], "d4/d90/classdata__structures_1_1_skip_list.html#a7ffc3688725b9d1ec6e5bb881a6e2ae4":[10,0,1,10,0], "d4/d90/classdata__structures_1_1_skip_list.html#a7ffc3688725b9d1ec6e5bb881a6e2ae4":[9,0,20,3,0], -"d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c":[10,0,1,10,2], "d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c":[9,0,20,3,2], -"d4/d90/classdata__structures_1_1_skip_list.html#a86925c53e139cc6c3f7df1e9003bb0b0":[9,0,20,3,1], +"d4/d90/classdata__structures_1_1_skip_list.html#a812611f80b8079268dbb19cc4e9bee5c":[10,0,1,10,2], "d4/d90/classdata__structures_1_1_skip_list.html#a86925c53e139cc6c3f7df1e9003bb0b0":[10,0,1,10,1], +"d4/d90/classdata__structures_1_1_skip_list.html#a86925c53e139cc6c3f7df1e9003bb0b0":[9,0,20,3,1], "d4/d90/classdata__structures_1_1_skip_list.html#aa3f3813e9896792fc86b296547689ba4":[9,0,20,3,4], "d4/d90/classdata__structures_1_1_skip_list.html#aa3f3813e9896792fc86b296547689ba4":[10,0,1,10,4], -"d4/d90/classdata__structures_1_1_skip_list.html#ad7e392386d7db622185d6f7c718e4f16":[10,0,1,10,6], "d4/d90/classdata__structures_1_1_skip_list.html#ad7e392386d7db622185d6f7c718e4f16":[9,0,20,3,6], -"d4/d90/classdata__structures_1_1_skip_list.html#af2f3d4e15b1f47afac849c2e08a730f4":[9,0,20,3,5], +"d4/d90/classdata__structures_1_1_skip_list.html#ad7e392386d7db622185d6f7c718e4f16":[10,0,1,10,6], "d4/d90/classdata__structures_1_1_skip_list.html#af2f3d4e15b1f47afac849c2e08a730f4":[10,0,1,10,5], +"d4/d90/classdata__structures_1_1_skip_list.html#af2f3d4e15b1f47afac849c2e08a730f4":[9,0,20,3,5], "d4/d91/namespacevector__cross.html":[9,0,126], "d4/d96/range__queries_2sparse__table_8cpp.html":[11,0,19,5], "d4/d96/range__queries_2sparse__table_8cpp.html#a40810d8c0fe3f8cf432ab128b1ae0300":[11,0,19,5,1], diff --git a/navtreeindex5.js b/navtreeindex5.js index da702ed4f..8417884ce 100644 --- a/navtreeindex5.js +++ b/navtreeindex5.js @@ -70,8 +70,8 @@ var NAVTREEINDEX5 = "d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html#a08212cdc99164b59da91b81f45e2f88e":[10,0,1,6,0,0,0], "d5/d12/structdata__structures_1_1trie__using__hashmap_1_1_trie_1_1_node.html#a3cdb077745d3dc97212d693132371219":[10,0,1,6,0,0,1], "d5/d15/classcll.html":[10,0,19], -"d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html":[9,0,110,9], "d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html":[10,0,16,4], +"d5/d25/structstd_1_1is__unsigned_3_01uint128__t_01_4.html":[9,0,110,9], "d5/d29/struct_min_heap_node.html":[10,0,38], "d5/d2c/namespacelayers.html":[9,0,54], "d5/d33/gram__schmidt_8cpp.html":[11,0,14,9], @@ -104,18 +104,18 @@ var NAVTREEINDEX5 = "d5/d4c/group__sorting.html#gab6b14fea48d9841e29b9fc26be6e05d7":[8,3,7], "d5/d4c/group__sorting.html#gae66f6b31b5ad750f1fe042a706a4e3d4":[8,3,5], "d5/d58/class_test_cases.html":[10,0,51], -"d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e":[10,0,51,2], "d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e":[10,0,51,0], "d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e":[10,0,51,1], +"d5/d58/class_test_cases.html#aa3aa3d5bf666f327ee8e2d11d397b06e":[10,0,51,2], "d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3":[10,0,51,9], "d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3":[10,0,51,10], "d5/d58/class_test_cases.html#abae0148985f159b582a385cf399254e3":[10,0,51,11], "d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008":[10,0,51,6], "d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008":[10,0,51,8], "d5/d58/class_test_cases.html#ac2636e8b5b9e053374c45bfcf0603008":[10,0,51,7], +"d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5":[10,0,51,13], "d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5":[10,0,51,14], "d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5":[10,0,51,12], -"d5/d58/class_test_cases.html#ad9f95c09931625b41e3be1f88d1e28c5":[10,0,51,13], "d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23":[10,0,51,5], "d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23":[10,0,51,3], "d5/d58/class_test_cases.html#aeabea90c02f9159e4a784bbf736e1e23":[10,0,51,4], @@ -123,12 +123,12 @@ var NAVTREEINDEX5 = "d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,19,2,3], "d5/d58/persistent__seg__tree__lazy__prop_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,2,2], "d5/d5f/namespacegeometry.html":[9,0,32], -"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html":[10,0,13,1,0], "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html":[9,0,94,0,0], +"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html":[10,0,13,1,0], "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#a9adb4639a0797e94a3e556b6b902c088":[9,0,94,0,0,0], "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#a9adb4639a0797e94a3e556b6b902c088":[10,0,13,1,0,0], -"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf":[9,0,94,0,0,1], "d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf":[10,0,13,1,0,1], +"d5/d66/classrange__queries_1_1per_seg_tree_1_1_node.html#acc044f787c90b815773726d7fdfdaccf":[9,0,94,0,0,1], "d5/d67/bayes__theorem_8cpp.html":[11,0,18,1], "d5/d67/bayes__theorem_8cpp.html#a655bfe51252468d232dc639a340656ba":[11,0,18,1,0], "d5/d67/bayes__theorem_8cpp.html#abb4f22dc05887c2259fdfc55c687598f":[11,0,18,1,1], @@ -148,28 +148,28 @@ var NAVTREEINDEX5 = "d5/d83/lcm__sum_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,13,31,2], "d5/d83/lcm__sum_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,13,31,1], "d5/d88/md__d_i_r_e_c_t_o_r_y.html":[4], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md45":[4,0], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md46":[4,1], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md47":[4,2], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md48":[4,3], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md49":[4,4], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md50":[4,5], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md51":[4,6], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md52":[4,7], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md53":[4,8], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md54":[4,9], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md55":[4,10], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md56":[4,11], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md57":[4,12], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md58":[4,13], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md59":[4,14], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md60":[4,15], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md61":[4,16], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md62":[4,17], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md63":[4,18], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md64":[4,19], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md65":[4,20], -"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md66":[4,21], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md46":[4,0], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md47":[4,1], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md48":[4,2], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md49":[4,3], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md50":[4,4], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md51":[4,5], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md52":[4,6], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md53":[4,7], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md54":[4,8], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md55":[4,9], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md56":[4,10], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md57":[4,11], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md58":[4,12], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md59":[4,13], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md60":[4,14], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md61":[4,15], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md62":[4,16], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md63":[4,17], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md64":[4,18], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md65":[4,19], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md66":[4,20], +"d5/d88/md__d_i_r_e_c_t_o_r_y.html#autotoc_md67":[4,21], "d5/d89/namespacepalindrome__partitioning.html":[9,0,82], "d5/d8a/classothers_1_1postfix__expression_1_1_stack.html":[10,0,10,2,0], "d5/d8a/classothers_1_1postfix__expression_1_1_stack.html#a6ae98710503b894b843d01cb69d5490c":[10,0,10,2,0,1], diff --git a/navtreeindex6.js b/navtreeindex6.js index bb2502b7e..9de2878f3 100644 --- a/navtreeindex6.js +++ b/navtreeindex6.js @@ -15,20 +15,20 @@ var NAVTREEINDEX6 = "d6/d1a/dnf__sort_8cpp.html#a621767fe711db64fe57a2ac4987b11f0":[11,0,21,6,0], "d6/d1a/dnf__sort_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,21,6,2], "d6/d1a/dnf__sort_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,21,6,1], -"d6/d26/classciphers_1_1_hill_cipher.html":[10,0,0,1], "d6/d26/classciphers_1_1_hill_cipher.html":[9,0,12,1], +"d6/d26/classciphers_1_1_hill_cipher.html":[10,0,0,1], "d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c":[9,0,12,1,8], "d6/d26/classciphers_1_1_hill_cipher.html#a12f727cca9e21f9539cd74b6603adf0c":[10,0,0,1,8], -"d6/d26/classciphers_1_1_hill_cipher.html#a2eb58750b978a93ac5e6eb29e3e570b7":[10,0,0,1,9], "d6/d26/classciphers_1_1_hill_cipher.html#a2eb58750b978a93ac5e6eb29e3e570b7":[9,0,12,1,9], -"d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5":[9,0,12,1,6], +"d6/d26/classciphers_1_1_hill_cipher.html#a2eb58750b978a93ac5e6eb29e3e570b7":[10,0,0,1,9], "d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5":[10,0,0,1,6], -"d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b":[9,0,12,1,1], +"d6/d26/classciphers_1_1_hill_cipher.html#a405b0a28d66a61239d3565d5256f9cb5":[9,0,12,1,6], "d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b":[10,0,0,1,1], -"d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9":[10,0,0,1,12], +"d6/d26/classciphers_1_1_hill_cipher.html#a427acfac1dbff3f48a2b071d449d965b":[9,0,12,1,1], "d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9":[9,0,12,1,12], -"d6/d26/classciphers_1_1_hill_cipher.html#a642f70fb54cb50b00fb6df7c3f2b120e":[10,0,0,1,5], +"d6/d26/classciphers_1_1_hill_cipher.html#a629be41c1ab78850963e4ce14e1d11d9":[10,0,0,1,12], "d6/d26/classciphers_1_1_hill_cipher.html#a642f70fb54cb50b00fb6df7c3f2b120e":[9,0,12,1,5], +"d6/d26/classciphers_1_1_hill_cipher.html#a642f70fb54cb50b00fb6df7c3f2b120e":[10,0,0,1,5], "d6/d26/classciphers_1_1_hill_cipher.html#a716d0313141499d16f57c0c107f04395":[10,0,0,1,11], "d6/d26/classciphers_1_1_hill_cipher.html#a716d0313141499d16f57c0c107f04395":[9,0,12,1,11], "d6/d26/classciphers_1_1_hill_cipher.html#a7760f3665651a0a37937c79c62f219c0":[9,0,12,1,3], @@ -37,10 +37,10 @@ var NAVTREEINDEX6 = "d6/d26/classciphers_1_1_hill_cipher.html#aa8bbb6e4a5749f6008b06602d5103917":[10,0,0,1,2], "d6/d26/classciphers_1_1_hill_cipher.html#ab02c7563889bf1e363deb8e21967b706":[9,0,12,1,4], "d6/d26/classciphers_1_1_hill_cipher.html#ab02c7563889bf1e363deb8e21967b706":[10,0,0,1,4], -"d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590":[9,0,12,1,10], "d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590":[10,0,0,1,10], -"d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa":[9,0,12,1,0], +"d6/d26/classciphers_1_1_hill_cipher.html#ad36cbcc7a458b3f3a2af0c4aa1126590":[9,0,12,1,10], "d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa":[10,0,0,1,0], +"d6/d26/classciphers_1_1_hill_cipher.html#ad667fa0860977f6d6d443fa1dbcd80aa":[9,0,12,1,0], "d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41":[10,0,0,1,7], "d6/d26/classciphers_1_1_hill_cipher.html#ae77cad522fa44b8c985779a7188d2f41":[9,0,12,1,7], "d6/d26/house__robber_8cpp.html":[11,0,6,4], @@ -58,8 +58,8 @@ var NAVTREEINDEX6 = "d6/d2d/modular__inverse__simple_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,13,38,1], "d6/d2e/fenwick__tree_8cpp.html":[11,0,19,0], "d6/d2e/fenwick__tree_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,19,0,1], -"d6/d30/classmachine__learning_1_1adaline.html":[10,0,7,3], "d6/d30/classmachine__learning_1_1adaline.html":[9,0,60,0], +"d6/d30/classmachine__learning_1_1adaline.html":[10,0,7,3], "d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325":[10,0,7,3,1], "d6/d30/classmachine__learning_1_1adaline.html#a082f758fb55fe19f22b3df66f89b2325":[9,0,60,0,1], "d6/d30/classmachine__learning_1_1adaline.html#a0acbe32aaab897e7939e5b0454035b8c":[10,0,7,3,0], @@ -72,14 +72,14 @@ var NAVTREEINDEX6 = "d6/d30/classmachine__learning_1_1adaline.html#a74e3c6c037b67895014414c5d75465e5":[10,0,7,3,3], "d6/d30/classmachine__learning_1_1adaline.html#a8d61f9ed872eef26bca39388cbda6a91":[9,0,60,0,4], "d6/d30/classmachine__learning_1_1adaline.html#a8d61f9ed872eef26bca39388cbda6a91":[10,0,7,3,4], -"d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3":[10,0,7,3,7], "d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3":[9,0,60,0,7], -"d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3":[10,0,7,3,5], +"d6/d30/classmachine__learning_1_1adaline.html#aa23d60262f917f35836ef4b1c1d9f7d3":[10,0,7,3,7], "d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3":[9,0,60,0,5], -"d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56":[10,0,7,3,2], +"d6/d30/classmachine__learning_1_1adaline.html#ab11242d9ad5b03a75911e29b04f78fd3":[10,0,7,3,5], "d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56":[9,0,60,0,2], -"d6/d30/classmachine__learning_1_1adaline.html#ae347040516e995c8fb8ca2e5c0496daa":[10,0,7,3,6], +"d6/d30/classmachine__learning_1_1adaline.html#ac8a9c2aaaa63b0f27ea176857e1e7d56":[10,0,7,3,2], "d6/d30/classmachine__learning_1_1adaline.html#ae347040516e995c8fb8ca2e5c0496daa":[9,0,60,0,6], +"d6/d30/classmachine__learning_1_1adaline.html#ae347040516e995c8fb8ca2e5c0496daa":[10,0,7,3,6], "d6/d38/find__non__repeating__number_8cpp.html":[11,0,1,3], "d6/d38/find__non__repeating__number_8cpp.html#aa8dca7b867074164d5f45b0f3851269d":[11,0,1,3,2], "d6/d38/find__non__repeating__number_8cpp.html#ac5ca4c0be0967b4dd572507f50451ae3":[11,0,1,3,0], @@ -98,10 +98,10 @@ var NAVTREEINDEX6 = "d6/d42/miller__rabin_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,13,34,0], "d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html":[10,0,0,0,0], "d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html":[9,0,12,0,0], -"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#a5084e9ca27837662c31d4dc003815446":[9,0,12,0,0,0], "d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#a5084e9ca27837662c31d4dc003815446":[10,0,0,0,0,0], -"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#af2142b27241b28f835e8ce78d7d6463c":[9,0,12,0,0,1], +"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#a5084e9ca27837662c31d4dc003815446":[9,0,12,0,0,0], "d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#af2142b27241b28f835e8ce78d7d6463c":[10,0,0,0,0,1], +"d6/d45/structciphers_1_1elliptic__curve__key__exchange_1_1_point.html#af2142b27241b28f835e8ce78d7d6463c":[9,0,12,0,0,1], "d6/d4a/addition__rule_8cpp.html":[11,0,18,0], "d6/d4a/addition__rule_8cpp.html#a4adfd055c758546456d440ee9133555d":[11,0,18,0,1], "d6/d4a/addition__rule_8cpp.html#a565ffcbbdbe496ced37250bc8dc36bc0":[11,0,18,0,0], @@ -198,16 +198,17 @@ var NAVTREEINDEX6 = "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md27":[3,1,2,0], "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md28":[3,1,2,1], "d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md29":[3,1,2,2], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md30":[3,1,2,3], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31":[3,1,2,4], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md32":[3,1,2,5], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md33":[3,1,2,5,0], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34":[3,1,2,6], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md35":[3,1,3], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md36":[3,1,3,0], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md37":[3,1,3,1], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md38":[3,1,3,2], -"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md39":[3,1,3,3], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md30":[3,1,2,2,0], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md31":[3,1,2,3], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md32":[3,1,2,4], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md33":[3,1,2,5], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md34":[3,1,2,5,0], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md35":[3,1,2,6], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md36":[3,1,3], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md37":[3,1,3,0], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md38":[3,1,3,1], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md39":[3,1,3,2], +"d6/dcd/md__c_o_n_t_r_i_b_u_t_i_n_g.html#autotoc_md40":[3,1,3,3], "d6/dce/rabin__karp_8cpp.html":[11,0,22,4], "d6/dce/rabin__karp_8cpp.html#a21c673d56cbf67b1d2ee4d869185b7d9":[11,0,22,4,4], "d6/dce/rabin__karp_8cpp.html#a840291bc02cba5474a4cb46a9b9566fe":[11,0,22,4,3], @@ -248,6 +249,5 @@ var NAVTREEINDEX6 = "d7/d35/matrix__exponentiation_8cpp.html":[11,0,16,9], "d7/d35/matrix__exponentiation_8cpp.html#a276c5a0e984cf60015b27252fe04fe6b":[11,0,16,9,2], "d7/d35/matrix__exponentiation_8cpp.html#a357cfbebfdc47a237a2862fe146af252":[11,0,16,9,5], -"d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de":[11,0,16,9,7], -"d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258":[11,0,16,9,0] +"d7/d35/matrix__exponentiation_8cpp.html#a35b7c98af53ad2ec18658679ad7d43de":[11,0,16,9,7] }; diff --git a/navtreeindex7.js b/navtreeindex7.js index bfb4f20b8..1c4d40292 100644 --- a/navtreeindex7.js +++ b/navtreeindex7.js @@ -1,5 +1,6 @@ var NAVTREEINDEX7 = { +"d7/d35/matrix__exponentiation_8cpp.html#a600eaf353befc174637855795f12d258":[11,0,16,9,0], "d7/d35/matrix__exponentiation_8cpp.html#a702a9fc90e79b05b863cc4efa26ae2ec":[11,0,16,9,6], "d7/d35/matrix__exponentiation_8cpp.html#a9977ad12548c4a49dee9dc3f0685aa54":[11,0,16,9,8], "d7/d35/matrix__exponentiation_8cpp.html#ad8389ed58fd0ec66df248014775ad1fa":[11,0,16,9,3], @@ -53,10 +54,10 @@ var NAVTREEINDEX7 = "d7/d7c/classstatistics_1_1stats__computer1.html#a350bf6c429691d3578c4dfc6679a0797":[9,0,109,0,4], "d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b":[10,0,15,0,0], "d7/d7c/classstatistics_1_1stats__computer1.html#a390697dcee210b91823ceff04b25081b":[9,0,109,0,0], -"d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2":[9,0,109,0,1], "d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2":[10,0,15,0,1], -"d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1":[9,0,109,0,2], +"d7/d7c/classstatistics_1_1stats__computer1.html#aa13bf7c38de112f71921a5525d71a2f2":[9,0,109,0,1], "d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1":[10,0,15,0,2], +"d7/d7c/classstatistics_1_1stats__computer1.html#af57e942d49f4fd70f059f224b4ac07e1":[9,0,109,0,2], "d7/d7f/section.html":[5], "d7/d81/namespacebit__manipulation.html":[9,0,9], "d7/d81/namespacebit__manipulation.html#a5032470c9974bbd6ec254bf296530a5f":[9,0,9,0], @@ -248,6 +249,5 @@ var NAVTREEINDEX7 = "d8/d90/iterative__tree__traversals_8cpp.html#ac35ae2868441f8a11c965b87b2494f21":[11,0,16,6,4], "d8/d90/iterative__tree__traversals_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,16,6,2], "d8/d90/iterative__tree__traversals_8cpp.html#af727f920064f2b8f484b589b60d49b89":[11,0,16,6,8], -"d8/d93/namespacemagic__sequence.html":[9,0,61], -"d8/d95/vector__ops_8hpp.html":[11,0,12,6] +"d8/d93/namespacemagic__sequence.html":[9,0,61] }; diff --git a/navtreeindex8.js b/navtreeindex8.js index ed8603bdf..ce6bdef3b 100644 --- a/navtreeindex8.js +++ b/navtreeindex8.js @@ -1,5 +1,6 @@ var NAVTREEINDEX8 = { +"d8/d95/vector__ops_8hpp.html":[11,0,12,6], "d8/d95/vector__ops_8hpp.html#a0cc29566568e0383dd7d374068cbe6b3":[11,0,12,6,10], "d8/d95/vector__ops_8hpp.html#a16f34574b7e0dd51bc3b3fda37446695":[11,0,12,6,8], "d8/d95/vector__ops_8hpp.html#a2466857dab977a49f117029835b3b6d2":[11,0,12,6,9], @@ -248,6 +249,5 @@ var NAVTREEINDEX8 = "d9/dae/classdata__structures_1_1_bitset.html#a9ef54c7c3f6494b36ead3ae2e5cf43ac":[10,0,1,7,2], "d9/dae/classdata__structures_1_1_bitset.html#ad7f7d479079a95bcc9175465395fa23f":[9,0,20,0,4], "d9/dae/classdata__structures_1_1_bitset.html#ad7f7d479079a95bcc9175465395fa23f":[10,0,1,7,4], -"d9/dae/classdata__structures_1_1_bitset.html#ae86688cf99b77342deedb75149573e73":[9,0,20,0,5], -"d9/dae/classdata__structures_1_1_bitset.html#ae86688cf99b77342deedb75149573e73":[10,0,1,7,5] +"d9/dae/classdata__structures_1_1_bitset.html#ae86688cf99b77342deedb75149573e73":[9,0,20,0,5] }; diff --git a/navtreeindex9.js b/navtreeindex9.js index ecae1e55e..cb23f74cb 100644 --- a/navtreeindex9.js +++ b/navtreeindex9.js @@ -1,5 +1,6 @@ var NAVTREEINDEX9 = { +"d9/dae/classdata__structures_1_1_bitset.html#ae86688cf99b77342deedb75149573e73":[10,0,1,7,5], "d9/dc9/namespacebase64__encoding.html":[9,0,6], "d9/dca/namespacesearch.html":[9,0,99], "d9/dd1/namespacelinear__recurrence__matrix.html":[9,0,56], @@ -248,6 +249,5 @@ var NAVTREEINDEX9 = "db/d0d/prime__factorization_8cpp.html#a0ece0145fb29a5cf48378c23dde2da46":[11,0,13,46,1], "db/d0d/prime__factorization_8cpp.html#a7fe38b570a51e448430d6a0f072c2f23":[11,0,13,46,4], "db/d0d/prime__factorization_8cpp.html#acfb0df439a4beae5a34ef131ce737c1b":[11,0,13,46,3], -"db/d0d/prime__factorization_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,13,46,0], -"db/d0d/prime__factorization_8cpp.html#af097796783684712b8326e5b82bfd4fe":[11,0,13,46,5] +"db/d0d/prime__factorization_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4":[11,0,13,46,0] };