From 7ba7200ea47b0b50c635b757570bd13be8221cc7 Mon Sep 17 00:00:00 2001 From: realstealthninja Date: Fri, 18 Oct 2024 16:31:32 +0000 Subject: [PATCH] Documentation for 05d784d844c98677d8418130d33209b319c0d52d --- ...ence__using__binary__search_8cpp__incl.map | 13 + ...ence__using__binary__search_8cpp__incl.md5 | 1 + ...ence__using__binary__search_8cpp__incl.svg | 139 ++++++++ ...__using__binary__search_8cpp__incl_org.svg | 113 +++++++ ...bsequence__using__binary__search_8cpp.html | 315 ++++++++++++++++++ ...subsequence__using__binary__search_8cpp.js | 6 + ...13539d9a97fc6e121ce496873ba892e_cgraph.map | 9 + ...13539d9a97fc6e121ce496873ba892e_cgraph.md5 | 1 + ...13539d9a97fc6e121ce496873ba892e_cgraph.svg | 103 ++++++ ...9d9a97fc6e121ce496873ba892e_cgraph_org.svg | 77 +++++ ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.map | 11 + ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 | 1 + ...83bb8ccf42aaf7375a83e91490eda1e_cgraph.svg | 121 +++++++ ...8ccf42aaf7375a83e91490eda1e_cgraph_org.svg | 95 ++++++ ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map | 13 + ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 | 1 + ...66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg | 139 ++++++++ ...b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg | 113 +++++++ dir_19b2bf9199a15c634a08b1ede1dd896a.html | 3 + dir_19b2bf9199a15c634a08b1ede1dd896a.js | 1 + doxygen_crawl.html | 5 + files.html | 13 +- globals_func_l.html | 1 + globals_func_m.html | 2 +- globals_func_t.html | 2 +- globals_l.html | 1 + globals_m.html | 2 +- globals_t.html | 2 +- navtreedata.js | 2 +- navtreeindex12.js | 26 +- navtreeindex14.js | 10 +- navtreeindex15.js | 4 + navtreeindex4.js | 8 +- navtreeindex5.js | 12 +- navtreeindex9.js | 16 +- search/all_11.js | 46 +-- search/all_12.js | 2 +- search/all_19.js | 2 +- search/files_c.js | 13 +- search/functions_14.js | 2 +- search/functions_c.js | 29 +- search/functions_d.js | 2 +- 42 files changed, 1384 insertions(+), 93 deletions(-) create mode 100644 d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl.map create mode 100644 d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl.md5 create mode 100644 d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl.svg create mode 100644 d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl_org.svg create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp.html create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp.js create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.map create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.md5 create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.svg create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph_org.svg create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg create mode 100644 df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg diff --git a/d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl.map b/d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl.map new file mode 100644 index 000000000..b2d8fbdbd --- /dev/null +++ b/d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl.md5 b/d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl.md5 new file mode 100644 index 000000000..a395fd871 --- /dev/null +++ b/d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl.md5 @@ -0,0 +1 @@ +54cee71d7748f8d0a1a1504165930480 \ No newline at end of file diff --git a/d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl.svg b/d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl.svg new file mode 100644 index 000000000..e8c0e7e56 --- /dev/null +++ b/d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl.svg @@ -0,0 +1,139 @@ + + + + + + + + + + + + +search/Longest_Increasing_Subsequence_using_binary_search.cpp + + +Node1 + + +search/Longest_Increasing +_Subsequence_using_binary +_search.cpp + + + + + +Node2 + + +cassert + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +iostream + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +vector + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +algorithm + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +cstdint + + + + + +Node1->Node6 + + + + + + + + + + + + + diff --git a/d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl_org.svg b/d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl_org.svg new file mode 100644 index 000000000..f07ff0e08 --- /dev/null +++ b/d7/d71/_longest___increasing___subsequence__using__binary__search_8cpp__incl_org.svg @@ -0,0 +1,113 @@ + + + + + + +search/Longest_Increasing_Subsequence_using_binary_search.cpp + + +Node1 + + +search/Longest_Increasing +_Subsequence_using_binary +_search.cpp + + + + + +Node2 + + +cassert + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +iostream + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +vector + + + + + +Node1->Node4 + + + + + + + + +Node5 + + +algorithm + + + + + +Node1->Node5 + + + + + + + + +Node6 + + +cstdint + + + + + +Node1->Node6 + + + + + + + + diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp.html b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp.html new file mode 100644 index 000000000..088d8f882 --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp.html @@ -0,0 +1,315 @@ + + + + + + + +Algorithms_in_C++: search/Longest_Increasing_Subsequence_using_binary_search.cpp File Reference + + + + + + + + + + + + + + + + + +
+
+ + + + + + +
+
Algorithms_in_C++ 1.0.0 +
+
Set of algorithms implemented in C++.
+
+
+ + + + + + + + +
+
+ +
+
+
+ +
+ +
+
+ + +
+
+
+
+
+
Loading...
+
Searching...
+
No Matches
+
+
+
+
+ +
+ +
Longest_Increasing_Subsequence_using_binary_search.cpp File Reference
+
+
+ +

find the length of the Longest Increasing Subsequence (LIS) using Binary Search +More...

+
#include <cassert>
+#include <iostream>
+#include <vector>
+#include <algorithm>
+#include <cstdint>
+
+Include dependency graph for Longest_Increasing_Subsequence_using_binary_search.cpp:
+
+
+
+
+ + + + + + + + + + + +

+Functions

template<typename T >
std::uint32_t longest_increasing_subsequence_using_binary_search (std::vector< T > &nums)
 for std::uint32_t
 
static void tests ()
 Test cases for Longest Increasing Subsequence function.
 
int main ()
 Main function to run tests.
 
+

Detailed Description

+

find the length of the Longest Increasing Subsequence (LIS) using Binary Search

+

Given an integer array nums, return the length of the longest strictly increasing subsequence. The longest increasing subsequence is described as a subsequence of an array where: All elements of the subsequence are in increasing order. This subsequence itself is of the longest length possible.

+

For solving this problem we have Three Approaches :-

+

Approach 1 :- Using Brute Force The first approach that came to your mind is the Brute Force approach where we generate all subsequences and then manually filter the subsequences whose elements come in increasing order and then return the longest such subsequence. Time Complexity :- O(2^n) It's time complexity is exponential. Therefore we will try some other approaches.

+

Approach 2 :- Using Dynamic Programming To generate all subsequences we will use recursion and in the recursive logic we will figure out a way to solve this problem. Recursive Logic to solve this problem:-

    +
  1. We only consider the element in the subsequence if the element is grater then the last element present in the subsequence
  2. +
  3. When we consider the element we will increase the length of subsequence by 1 Time Complexity: O(N*N) Space Complexity: O(N*N) + O(N)
  4. +
+

This approach is better then the previous Brute Force approach so, we can consider this approach.

+

But when the Constraints for the problem is very larger then this approach fails

+

Approach 3 :- Using Binary Search Other approaches use additional space to create a new subsequence Array. Instead, this solution uses the existing nums Array to build the subsequence array. We can do this because the length of the subsequence array will never be longer than the current index.

+

Time complexity: O(n∗log(n)) Space complexity: O(1)

+

This approach consider Most optimal Approach for solving this problem

+
Author
Naman Jain
+

Function Documentation

+ +

◆ longest_increasing_subsequence_using_binary_search()

+ +
+
+
+template<typename T >
+ + + + + + + +
std::uint32_t longest_increasing_subsequence_using_binary_search (std::vector< T > & nums)
+
+ +

for std::uint32_t

+

for std::assert for IO operations for std::vector for std::lower_bound

+

Function to find the length of the Longest Increasing Subsequence (LIS) using Binary Search

Template Parameters
+ + +
TThe type of the elements in the input vector
+
+
+
Parameters
+ + +
numsThe input vector of elements of type T
+
+
+
Returns
The length of the longest increasing subsequence
+
65 {
+
66 if (nums.empty()) return 0;
+
67
+ +
69 ans.push_back(nums[0]);
+
70 for (std::size_t i = 1; i < nums.size(); i++) {
+
71 if (nums[i] > ans.back()) {
+
72 ans.push_back(nums[i]);
+
73 } else {
+
74 auto idx = std::lower_bound(ans.begin(), ans.end(), nums[i]) - ans.begin();
+
75 ans[idx] = nums[i];
+
76 }
+
77 }
+
78 return static_cast<std::uint32_t>(ans.size());
+
79}
+
T empty(T... args)
+ +
T lower_bound(T... args)
+
T size(T... args)
+ + +
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ main()

+ +
+
+ + + + + + + +
int main (void )
+
+ +

Main function to run tests.

+
Returns
0 on exit
+
114 {
+
115 tests(); // run self test implementation
+
116 return 0;
+
117}
+
static void tests()
Test cases for Longest Increasing Subsequence function.
Definition Longest_Increasing_Subsequence_using_binary_search.cpp:85
+
+Here is the call graph for this function:
+
+
+
+ +
+
+ +

◆ tests()

+ +
+
+ + + + + +
+ + + + + + + +
static void tests ()
+
+static
+
+ +

Test cases for Longest Increasing Subsequence function.

+
Returns
void
+
85 {
+
86 std::vector<int> arr = {10, 9, 2, 5, 3, 7, 101, 18};
+ +
88
+
89 std::vector<int> arr2 = {0, 1, 0, 3, 2, 3};
+ +
91
+
92 std::vector<int> arr3 = {7, 7, 7, 7, 7, 7, 7};
+ +
94
+
95 std::vector<int> arr4 = {-10, -1, -5, 0, 5, 1, 2};
+ +
97
+
98 std::vector<double> arr5 = {3.5, 1.2, 2.8, 3.1, 4.0};
+ +
100
+
101 std::vector<char> arr6 = {'a', 'b', 'c', 'a', 'd'};
+ +
103
+
104 std::vector<int> arr7 = {};
+ +
106
+
107 std::cout << "All tests have successfully passed!\n";
+
108}
+
std::uint32_t longest_increasing_subsequence_using_binary_search(std::vector< T > &nums)
for std::uint32_t
Definition Longest_Increasing_Subsequence_using_binary_search.cpp:65
+ +
+Here is the call graph for this function:
+
+
+
+ +
+
+
+
+ + + + diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp.js b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp.js new file mode 100644 index 000000000..67777c86d --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp.js @@ -0,0 +1,6 @@ +var _longest___increasing___subsequence__using__binary__search_8cpp = +[ + [ "longest_increasing_subsequence_using_binary_search", "df/d99/_longest___increasing___subsequence__using__binary__search_8cpp.html#a313539d9a97fc6e121ce496873ba892e", null ], + [ "main", "df/d99/_longest___increasing___subsequence__using__binary__search_8cpp.html#ae66f6b31b5ad750f1fe042a706a4e3d4", null ], + [ "tests", "df/d99/_longest___increasing___subsequence__using__binary__search_8cpp.html#a483bb8ccf42aaf7375a83e91490eda1e", null ] +]; \ No newline at end of file diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.map b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.map new file mode 100644 index 000000000..2df4e6691 --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.map @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.md5 b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.md5 new file mode 100644 index 000000000..568b5267e --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.md5 @@ -0,0 +1 @@ +d5964ace614cf3e3a1424d09c566ea55 \ No newline at end of file diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.svg b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.svg new file mode 100644 index 000000000..05f4c6e4a --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph.svg @@ -0,0 +1,103 @@ + + + + + + + + + + + + +longest_increasing_subsequence_using_binary_search + + +Node1 + + +longest_increasing +_subsequence_using_binary +_search + + + + + +Node2 + + +std::vector::empty + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +std::lower_bound + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +std::vector::size + + + + + +Node1->Node4 + + + + + + + + + + + + + diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph_org.svg b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph_org.svg new file mode 100644 index 000000000..d3de937ed --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a313539d9a97fc6e121ce496873ba892e_cgraph_org.svg @@ -0,0 +1,77 @@ + + + + + + +longest_increasing_subsequence_using_binary_search + + +Node1 + + +longest_increasing +_subsequence_using_binary +_search + + + + + +Node2 + + +std::vector::empty + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +std::lower_bound + + + + + +Node1->Node3 + + + + + + + + +Node4 + + +std::vector::size + + + + + +Node1->Node4 + + + + + + + + diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map new file mode 100644 index 000000000..00c4ba0ed --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.map @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 new file mode 100644 index 000000000..5be1bdd33 --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.md5 @@ -0,0 +1 @@ +3bcdedeb948fc12380fc356a42ba485c \ No newline at end of file diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg new file mode 100644 index 000000000..d292a38df --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph.svg @@ -0,0 +1,121 @@ + + + + + + + + + + + + +tests + + +Node1 + + +tests + + + + + +Node2 + + +longest_increasing +_subsequence_using_binary +_search + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +std::vector::empty + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +std::lower_bound + + + + + +Node2->Node4 + + + + + + + + +Node5 + + +std::vector::size + + + + + +Node2->Node5 + + + + + + + + + + + + + diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg new file mode 100644 index 000000000..0bbe5e442 --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_a483bb8ccf42aaf7375a83e91490eda1e_cgraph_org.svg @@ -0,0 +1,95 @@ + + + + + + +tests + + +Node1 + + +tests + + + + + +Node2 + + +longest_increasing +_subsequence_using_binary +_search + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +std::vector::empty + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +std::lower_bound + + + + + +Node2->Node4 + + + + + + + + +Node5 + + +std::vector::size + + + + + +Node2->Node5 + + + + + + + + diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map new file mode 100644 index 000000000..18758191e --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.map @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 new file mode 100644 index 000000000..d50b86efa --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.md5 @@ -0,0 +1 @@ +6d5d347d0d16bcda801ff0265c0769a7 \ No newline at end of file diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg new file mode 100644 index 000000000..a077bd8e2 --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph.svg @@ -0,0 +1,139 @@ + + + + + + + + + + + + +main + + +Node1 + + +main + + + + + +Node2 + + +tests + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +longest_increasing +_subsequence_using_binary +_search + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +std::vector::empty + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +std::lower_bound + + + + + +Node3->Node5 + + + + + + + + +Node6 + + +std::vector::size + + + + + +Node3->Node6 + + + + + + + + + + + + + diff --git a/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg new file mode 100644 index 000000000..365193fde --- /dev/null +++ b/df/d99/_longest___increasing___subsequence__using__binary__search_8cpp_ae66f6b31b5ad750f1fe042a706a4e3d4_cgraph_org.svg @@ -0,0 +1,113 @@ + + + + + + +main + + +Node1 + + +main + + + + + +Node2 + + +tests + + + + + +Node1->Node2 + + + + + + + + +Node3 + + +longest_increasing +_subsequence_using_binary +_search + + + + + +Node2->Node3 + + + + + + + + +Node4 + + +std::vector::empty + + + + + +Node3->Node4 + + + + + + + + +Node5 + + +std::lower_bound + + + + + +Node3->Node5 + + + + + + + + +Node6 + + +std::vector::size + + + + + +Node3->Node6 + + + + + + + + diff --git a/dir_19b2bf9199a15c634a08b1ede1dd896a.html b/dir_19b2bf9199a15c634a08b1ede1dd896a.html index d26178e0d..2ed28d781 100644 --- a/dir_19b2bf9199a15c634a08b1ede1dd896a.html +++ b/dir_19b2bf9199a15c634a08b1ede1dd896a.html @@ -131,6 +131,9 @@ Files  linear_search.cpp  Linear search algorithm
  + Longest_Increasing_Subsequence_using_binary_search.cpp + find the length of the Longest Increasing Subsequence (LIS) using Binary Search
 median_search.cpp  Implementation of Median search algorithm. @cases from here
  diff --git a/dir_19b2bf9199a15c634a08b1ede1dd896a.js b/dir_19b2bf9199a15c634a08b1ede1dd896a.js index c5e502d18..8657c7056 100644 --- a/dir_19b2bf9199a15c634a08b1ede1dd896a.js +++ b/dir_19b2bf9199a15c634a08b1ede1dd896a.js @@ -7,6 +7,7 @@ var dir_19b2bf9199a15c634a08b1ede1dd896a = [ "interpolation_search2.cpp", "df/d39/interpolation__search2_8cpp.html", "df/d39/interpolation__search2_8cpp" ], [ "jump_search.cpp", "d2/d22/jump__search_8cpp.html", "d2/d22/jump__search_8cpp" ], [ "linear_search.cpp", "d9/d02/linear__search_8cpp.html", "d9/d02/linear__search_8cpp" ], + [ "Longest_Increasing_Subsequence_using_binary_search.cpp", "df/d99/_longest___increasing___subsequence__using__binary__search_8cpp.html", "df/d99/_longest___increasing___subsequence__using__binary__search_8cpp" ], [ "median_search.cpp", "d9/d69/median__search_8cpp.html", "d9/d69/median__search_8cpp" ], [ "median_search2.cpp", "d8/dfa/median__search2_8cpp.html", "d8/dfa/median__search2_8cpp" ], [ "saddleback_search.cpp", "d3/d22/saddleback__search_8cpp.html", "d3/d22/saddleback__search_8cpp" ], diff --git a/doxygen_crawl.html b/doxygen_crawl.html index 607f23a71..ff3633aaf 100644 --- a/doxygen_crawl.html +++ b/doxygen_crawl.html @@ -270,6 +270,7 @@ + @@ -4001,6 +4002,10 @@ + + + + diff --git a/files.html b/files.html index e024c9e4b..6c7b26572 100644 --- a/files.html +++ b/files.html @@ -385,12 +385,13 @@ N)\) time, with precision fixed using interpolation_search2.cppInterpolation search algorithm  jump_search.cppC++ program to implement Jump Search  linear_search.cppLinear search algorithm - median_search.cppImplementation of Median search algorithm. @cases from here - median_search2.cppGiven a linked list L[0,....,n] of n numbers, find the middle node - saddleback_search.cppImplementation of Saddleback Algorithm for 2D arrays - sublist_search.cppImplementation of the Sublist Search Algorithm - ternary_search.cppTernary search algorithm - text_search.cppSearch for words in a long textual paragraph + Longest_Increasing_Subsequence_using_binary_search.cppFind the length of the Longest Increasing Subsequence (LIS) using Binary Search + median_search.cppImplementation of Median search algorithm. @cases from here + median_search2.cppGiven a linked list L[0,....,n] of n numbers, find the middle node + saddleback_search.cppImplementation of Saddleback Algorithm for 2D arrays + sublist_search.cppImplementation of the Sublist Search Algorithm + ternary_search.cppTernary search algorithm + text_search.cppSearch for words in a long textual paragraph   sorting  binary_insertion_sort.cppBinary Insertion Sort Algorithm (Insertion Sort)  bogo_sort.cppImplementation of Bogosort algorithm diff --git a/globals_func_l.html b/globals_func_l.html index cacaa437f..93858e0ca 100644 --- a/globals_func_l.html +++ b/globals_func_l.html @@ -113,6 +113,7 @@ $(function(){initNavTree('globals_func_l.html',''); initResizable(true); });
  • levelOrder() : avltree.cpp
  • LinearSearch() : linear_search.cpp
  • longest_common_string_length() : longest_common_string.cpp
  • +
  • longest_increasing_subsequence_using_binary_search() : Longest_Increasing_Subsequence_using_binary_search.cpp
  • lower() : text_search.cpp
  • lu_decomposition() : lu_decomposition.h
  • diff --git a/globals_func_m.html b/globals_func_m.html index 698b6e03f..8fab9b14c 100644 --- a/globals_func_m.html +++ b/globals_func_m.html @@ -107,7 +107,7 @@ $(function(){initNavTree('globals_func_m.html',''); initResizable(true); });
    Here is a list of all documented functions with links to the documentation:

    - m -

    diff --git a/globals_m.html b/globals_m.html index 42e8aab98..de600dc08 100644 --- a/globals_m.html +++ b/globals_m.html @@ -107,7 +107,7 @@ $(function(){initNavTree('globals_m.html',''); initResizable(true); });
    Here is a list of all documented file members with links to the documentation:

    - m -